I remember reading somewhere that DBPro isn't thread-safe because if you try and access an object's properties or manipulate it in some fashion while it's being loaded in the other thread, then that could (or would) cause something horrific to happen.
So what if you had an array where you stored all your object information, and in the array just a boolean value to indicate whether the object is fully loaded or not?
Then just write your program to NOT access any information about an object unless that value is true.
@IanM, is it possible that might work?