swanie,
Looks like you're not getting many sniffs on this subject.
I think if it were me, I'd try turning on ODBC tracing then open the connection and run a query on each table. The trace info might show some difference in the database response, or even show that the SQL you're sending is not what you intended...just a thought.
Also check your data and be sure that what you're asking for is in there. Try a "Select * from <table>" to verify that you can get data from the table.
A final note--I had an Access database once that, even after repairing, would not return any data. I fought it for a couple days, then finally, created a new database, and imported all of the objects from the old one into it. The new one worked fine, and continues to work fine (it's been about a year).
Good Luck,
Tranman