I am using block instances of a mesh (RhinoGold Gems). They work fine until I call BlockEdit. Once you update the block definition, all instances of the mesh will not appear in the Shaded viewport.
ClearRenderMeshes does not fix the problem. Sometimes they show up if you call BlockEdit again, change nothing and then click okay.
I don't know how RhinoGold handles this.
Because you're messing with blocks, I made a mesh object, assigned a color texture to the object (not Layer), then messed around with BlockEdit adding and removing objects to the block and I can't get get it to fail. I don't know what else to try.
Maybe if you posted a sample file with detailed instructions on how to get it to fail someone could help.