Estuve pensando...
No se si se permitirá pasar parámetros en la sentencia first. Mi idea es generar un SQL algo similar a esto:
Código SQL
[-]SELECT FIRST :Cantidad tus_campos FROM tu_tabla
Y hacer que el parámetro cantidad recibe un número aletorio:
Código Delphi
[-]Params.ByName('Cantidad').AsInteger := Random(ValorMáximo) + 1;
El +1 se debe a que random puede devolver 0 y provocar un error.
No he probado esto...
En este momento no tengo Delphi.