Smart? Debateable.
It's something you probably have to have some idea what you're doing to really use. Anyways, I'ev been sitting on this code for probably about half a year, and it's certainly useful, but I just haven't been making use of it. I figured I'd let other people play with it a bit.
As for how I've done it.... I don't quite recommend using the code in it's current form. The idea is definately good, and allows you to do a lot of extra stuff, or stuff we could do before, but with more precision now. However, the way it's done lacks something to be desired. This method could easily fail and make a level DLL unloadable (or more likely crash) in a future version of Windows. It makes a lot of assumptions that you're probably not supposed to make. I would recommend only using this technique through a shared library (DLL) so that if compatibility with future versions of Windows becomes an issues, we can fix the library and the levels will still work. There would be no requirement to recompile old levels, or even have their source to fix the problem. The source for the shared library would have to be available for recompile though.
Anyways, that's why I've been pushing the alternate OP2 interface idea. It would allow this to be done safer, and would also make it easier to use for people without much coding experience. Of course such a library would actually have to be written and everyone who uses this method has to agree to do it through the library. Getting people to work on this library and all agree to a certain design is not likely an easy task, so I don't really see this happening anytime soon. Plus, since this code is released, I'm kinda half expecting people to run off and use it in their own levels, which could turn into a disaster. That and there would be less incentive to develop such a library. So yeah, it many ways, releasing this code probably isn't such a hot idea. But then, that's why I'm attaching this warning to it. If you're going to use it, you should be aware that your level may some day become completely useless.
Of course, not releasing the code also makes it somewhat useless. I don't see myself having time to develop the code for a while. It's probably better for people to make levels that will eventually break rather than not having them at all. But then, this also might move development away from things that won't break to things that will. Now, that's all assuming this method will eventually break. I don't think that's very likely though. Changes that would break it would probably create many compatibility issues with other programs that run under Windows (although a small percentage of the total), so I doubt Microsoft would do anything to really kill the idea.
Anyways, hopefully the idea will get more development, and maybe people will see the need for a shared library. Until then, I don't really recommend using this method in released code. If fact, if you do use this method in any code, make sure to include a warning with anything associated with it. Not just in the source, but something a user of the DLL can see. If you don't understand this warning here completely (including all the technical details as to why it could fail) don't use this method.
Anyways, with that in mind, have fun poking around. Don't expect too much help as I kinda discourge using this technique in it's current form. And for those who are curious, I believe I included a compiled DLL along with the source, so you won't need a compiler to take a peek at what it does.