Writing an activex control to proxy calls to an unregistered activex control

Hi all,

One of my clients needs to support using two versions of an activex
control within Internet Explorer. However, both versions of the control
register to the same CLSID meaning that it is not possible to run both
concurrently without some intervention.

One idea that I had was to create a new activex control under a
different CLSID (and associate that CLSID with a different mimetype) so
that requests to the new mimetype will be sent to the new activex
control, which will in-turn proxy those requests to the unregistered
version of the activex control.

Has anyone had experience doing anything like this before? I have a lot
of research to do on this front and I thought I would see if anyone
could point me in the right direction. I know that I can use
LoadLibrary and GetProcAddress, etc to interact directly with the
unregistered activex dll, but I'm hoping there is a more elegant
solution. Any help would be greatly appreciated.