ADOQuery.RecordCount always shows 1 record less than the actual number of records

Hi there, people.

I'm developing a Delphi+Access application here in my office. There is
a strange behavior regarding the ADOQuery.Recordcount property. I'll
try to explain what exactly happens:

When we open the database directly from Accesss (database.mdb) and
execute an SQL query, the number of records returned based on a
certain condition is one, while issuing the same SQL query from inside
Delphi, returns one record less than the number obtained in Delphi.

For example, take the following statement:

SELECT * FROM Employees A
WHERE A.Name Like 'A*'

It returns, for example, 10 records from inside Access, but 9 from
inside Delphi, and it is the same SQL statement. I thought it could be
related to the cursor type I'm using in ADOQuery, but changing it to
any kind did not help.

Below is the piece of code which is troubling me:

    //---- SQL statement
    theSQL := ' SELECT ' +
            '   HE_Ativid.num_ativ, ' +
            '   HE_Solic.data_hext, ' +
            '   HE_Ativid.dsc_ativ, ' +
            '   HE_Ativid.dsc_just  ' +
            ' FROM HE_Solic ' +
            '      INNER JOIN HE_Ativid ON ' +
            '      HE_Solic.num_solic = HE_Ativid.num_solic ' +
            ' WHERE ' +
            ' (( (HE_Solic.num_solic) = ' + lblNumSolicHE.Caption + '
))';

    qryDetalheAtiv.Close;
    qryDetalheAtiv.SQL.Add(theSQL);
    screen.Cursor := crSQLWait;
    qryDetalheAtiv.Open;
    { the following line is the problem.
      The statement stored in theSQL,
      when executed inside Access returns a
      number of records, and here
      in Delphi it always
      returns (Access # of records) - 1. Why? }
    Showmessage(IntToStr(qryDetalheAtiv.RecordCount));  

For the matter, I'm working with Delphi 5 (with the proper ADO
upgrades from Borland, all of them) and Access 2000.

Please, any help would be appreciated.
Thank you all.

Daniel