i can see the same thing in delphi! this happens in every class... :-(
and how did you resolved it? because there is no normal way to process all the records from the LogRecSet.
i found an dirty way to solve it but don't real like it.
try
while not (LogRecSet.atEnd = True) do begin
...
LogRecSet.moveNext;
...
s := LogRecSet.getRecord.toNativeString(',');
...
except
end;
because LogRecSet.atEnd will never get true the while loop will be never interrupted, until (and here is the work around) there is an error while you getRecord when already at the end of the query.
will be there a bug fix for this? or do you have another solution?