James touches on a great point about ObjectDBX but the thing about it I didn't like was separation of layers into differant disciplines or differant contractors layers, etc.. That is the reason that I went with the external file(s). And I tried to keep things simple, however the more people use it the more emails I get about wanting new features. :ugly:
Tim, you routine is very robust.
The one thing with separate categories of layer data is that shared layers must be maintained in all files
or groups.
I suppose that using ObjectDBX or Data files there could be a common Group of Layers that always needs
to be loaded. Also regarding groups of layers, not sure if a WCMATCH would work if you wanted to keep
all the layers in one DWG or data file.
So to separate the groups you would likely need separate files. That seems like the simplest way.
You would still need a "Common Layers" file else you must maintain all data file with common layers.