Ok, I think I've got the problem licked, and I've discovered a few more limitations of instanced objects (note, NOT bugs).
The first limitation is for disabling zread and zwrite for instanced objects ... you can't. You have to apply that setting to the source object. If you do that, then everything works fine (see attached project).
The second limitation is something I incidental that I discovered for ghosting - you can enable ghosting for an instanced object, but you can't set the ghosting mode. Again, the ghosting mode can only be set against the source object.
The reason for these limitations is that there are certain settings that are stored at the mesh level (eg zread, zwrite, ghost mode), and some that are stored at the object level (eg ghost enabled). Take a look at the DBOData.h file included with the GDK to get an idea of where these settings are stored in the object (look at sObject and sMesh and their associated structures in particular).
See the attached project for a working copy of your code.