Supongo que el SQL debería traer 11 registros imprimir y luego buscar los siguientes 11.
Inicias un bucle con una variable con valor 0 (cero).
Ejecutas el SQL select first 11 skip (11 * :bucle) id_a from examenes order by examen
incrementas el valor del bucle
Ejecutas nuevamente el SQL. Te devolverá los primeros 11 habiendo saltado 11
Y repites esto tantas veces sea necesario hasta que no recibas registros.
Código Delphi
[-]
bucle := 0;
repeat
Facturas.SQL.Text := 'select first 11 skip (11 * :bucle) id_a from examenes order by examen'
Facturas.Param.ByName['BUCLE'].AsInteger := bucle;
Facturas.Open;
if not Facturas.EOF then
until Facturas.EOF;