Cheer up, old fellow! Least of all hostility was intended or implied. I believe it was just awkward prose style or unpremeditated side effect. ;)
I understand my colleagues in the way that first reaction on your proposal is to say that GE intentionally avoids third party libraries, except OpenGL on its own, because the main goal is to acquire generic knowledge, not to get buy-and-plug-in appliance (excuse the reiteration).
However you are absolutely right that in real life it would be too impractical to use only hand-made stuff, since it is too time-consuming, apart from the necessity to be an expert in quite different domains at the same time, say sound processing, networking, packing, cryptography, compilation theory, 3D, AI, physics, math, etc, etc.
As to the subject, I find your request quite reasonable. In particular I do agree that GE should have some means to expose its containers to allow them be filled with the stuff which is read from external sources.
In short, I would propose following scheme. But devil in the details.
Class SceneBuilder has an access to the internals of the class Scene (either as a friend
or receiving the references to the containers of the Scene during initialization). Alternatively, all containers might be defined as global objects (this is considered as not to be very good practice in general purpose programming but gamedev is another story, i.e. Andre Lamothe is not ashamed to use globals). Anyway, SceneBuilder should have the ability to fill materials, lights, textures, etc containers in and to grow the Scene Graph.
Then SceneBuilder exposes public interface using which its external clients (proxies) can add stuff to the scene. A tiny part of such interface might be like this:
public: // public interface
To add the support of a new format the developer may use 3rd party libraries and/or write handmade parsers. The parser, i.e. COB-bin parser, LVL-parser etc supplies the special proxy class with the data in the native (for the parser) format. Proxy class behaves like glue between the parser and the SceneBuilder converting the data from the parser's output to the calls of the SceneBulder's methods.
The bright side of this approach is that you do not have to rewrite the code, which adds the stuff to the scene every time you add new format.
I understand that this scheme is pretty rough, too general, too obvious and as such almost useless; the main work is in developing good interface and in organizing smooth process flow.
Vanquish the Beelzebub!