I saw $Storable::interwork_56_64bit in the docs, but didn't think it would apply since I have 4 byte integers on both platforms. Not to mention it didn't solve the problem.
I'm able to read the entire Berkeley DB table into a hash and write it with nstore (nice to have lots of RAM). Then I can read that on the other machine.
BTW - I can't just tie %hash to the Berkeley DB and nstore( \%hash, 'file' ), though. That might haved saved some memory.
So perhaps it is either an issue with nfreeze on the old machine or somehow converting the berkeley db table to a newer version trashed the data (which seem less likely).