Access, TQuery and Next method

Env: Delphi 3.02, BDE 4.51, Access 7.0, NT

im sure that im just doing something stupid.  the following is a piece of
test code.  the goal is to query an access database and produce a html
table.  the query returns one record but after MyQuery.Next, EOF is not set
to true and i get stuck in an infinite loop.  this code seems to work when
there is more than one record.  any idea what im doing wrong?  is there a
better method of doing this?

procedure TForm1.OutputHTMLTable();
var
   HTMLTable: String;
   MyQuery: TQuery;
begin
   // create query
   MyQuery := TQuery.Create(nil);
   MyQuery.DatabaseName := 'Datalogger2';
   MyQuery.SQL.Clear;
   MyQuery.SQL.Add('SELECT * FROM tblS01Stage WHERE dtmDate = #1/1/97#;');
   MyQuery.Open;
   Memo1.Lines.Add('Record Count: ' + IntToStr(MyQuery.RecordCount));

   // init html table
   HTMLTable := '<table>';

   // create heads
   HTMLTable := HTMLTable + '<tr><th>Date</th><th>Discharge</th></tr>';

   // create html table data
   while not MyQuery.EOF do
   begin
      HTMLTable := HTMLTable + '<tr><td>' +
MyQuery.FieldByName('dtmDate').AsString +
                '</td><td>' + MyQuery.FieldByName('dblDischarge').AsString +
'</td></tr>';
      MyQuery.Next;
   end;

   // finish table
   HTMLTable := HTMLTable + '</table>';

   // close query
   MyQuery.Close;
   MyQuery.Free;

   Memo1.Lines.Add(HTMLTable);
end;