Uncombining and recombining meshes at runtime

I've got a large number of meshes (100-200) that share four materials, and I'd like to combine them to be able to reduce the draw count from 100 to 4. However, when the player clicks on them / presses a key, I need to make some simple changes to them - rotate them 90 degrees, for example, or change the material to one of the other three.

If I use the normal CombineChildren script from Standard Assets, the draw count goes down as expected, but changes to the object's transform or material have no effect, presumably because that transform isn't what's actually being used by the renderer anymore.

Is it possible to solve this by "uncombining" the meshes, changing the one I want, then recombining them somehow? Since it only happens when the player reacts in some way, I'd rather see a spike during that one frame than a consistently higher ms/f the rest of the time, assuming it can recombine the meshes within 50-100ms or so.

I did a test for something along these lines, which you can see on the Unity forums here. It will have to be changed somewhat to do what you want, since for one thing right now it just puts the "uncombined" meshes exactly back the way they were when they started when they are recombined, but that's not too hard.