Ed,
>Mark, CREATEOBJECTEX() requires a second parameter, being the target machine that will instance the out of process server for DCOM. ... The component has to be registered on the server, not on the client that issues CREATEOBJECTEX().
Not exactly true. If registered ONLY on the server, you must specify the target machine name in the second parameter, but if registered on BOTH the client and server machines, just the CLSID is OK.
From CREATEOBJECTEX help:
If cComputerName is the empty string, the COM object is instantiated on the local computer or a redirected machine as specified in the registry. Use Clireg32.exe or Racmgr32.exe to redirect the local machine to another machine through the registry.