Thanks for posting your latest status and the resolution process.
I have seen databases (Access) where there was no PK. When attempting to interact with other databases, a message would occur (something like no primary key or unique index found on table ..or similar). I also seemed to recall that different ODBC code from different vendors could behave differently.
Better to identify a primary key to uniquely identify each record in a table, as you suggested.
Glad you have it solved.