It looks like the logging of a dataset still influences the way the data is retrieved afterwards.
I found that after logging a dataset the record pointer IS pointing at the first record (a ‘while not eof’ loop iterates the expected numer of times). The data that is returned however, is not as expected.
The pattern I found is that the data returned alternates between the content of the last and the next-to-last record.
I’m using an IBQuery object to execute the SQL that returns the result set.