Hola.
Creo que cuando haces el recorrido te sobra el primer
Next (antes del While), ya que si lo pones como está ahora te dejas el primer registro.
Es decir, la estructura debería ser algo así:
Código Delphi
[-]
Q.First;
while (not Q.eof) do begin
... hacer lo que necesites ...
Q.Next;
end;