the record count property can be trusted only to show 2 values correctly i.e if it has no records then it will always be 0 , but if there are records it neednot necessarily show the number of records ,mostly it shows -1.
so the only way I think to get the record count is the onle Les has suggested (and the ones we use also), is to loop through the records while incrementing an integer variable.
but make sure ,that if any controls use the query as a dataset ,then to disable the controls to prevent afterscroll\beforescroll events firing (i.e if they are written)
Weez, the count(*) always leads to more complicated queries , because of the groupings involved.