in reply to DBD::ODBC won't read past a certain record

Not very probable, but the TransactionID's could not compose a continues sequence. I believe you should try a modified SQL statement:
my $sql = qq{SELECT * FROM Transaction where TransactionID > 968000};