BIG TROUBLE. EOF HAS DISAPPEARED!!!

Hi,
I have met with the following problem.
Delphi 4 + BDE 5.10 + MSSQL 7.0
I have TQuery, which selects about 100 records from MSSQL table.
I open this Query and in statements
  WHILE NOT EOF DO BEGIN
    .....
    NEXT;
  END;
I fill TStringGrid. Sometimes it refuses to work, EOF is not reached -
program goes in cycles and hangs.
Whether somebody collided with a similar problem. If yes - your help is
necessary very much.
Beforehand is grateful.

Best regards,
Leonid V.
v...@pulkovo.ru