Nope, in interbase not all records are fetched after opening a query too, so RecordCount would give a wrong result. StevenK a call to Last method fetches all records into memory, a call to First returns cursor to the first record as if you've just opened the query (you can call to FetchAll instead of Last/First).
Correct me if i am wrong. Cheers.
--- markus