I actually reported a problem like this in the bugs section. The problem I was having with Instance Object was that the last Instance Object created wouldn't show up unless I created another object just before the sync. What I did to get around it was to do Instance Object than immediately Delete Object just before the sync. An object created with Instance Object also has no size so commands that are based on the object's size won't work properly with Instance Object. This doesn't sound like a big deal but it effects collisions as well as a few other commands.
Instance Objects are handy in that they get around another bug that causes memory corruption. Load Object, Clone Object, and Make Object cause memory corruption if used over and over again. Instance Object doesn't suffer from this bug.
Basicly, try setting up all of your syncs like this
// objSomeobject is an object that already exists
instance object 99999, objSomeobject
delete object 99999
sync
Hope this helps.
By Thor's hammer
By the sons of Odin
I shall avenge thee