Is that the same error you get with the first one?
The message after the number is the key. You can also convert that number to hex (Windows calc can do it) and then look it up in winerrors.h. In this case, here is what we find
//
// MessageId: TYPE_E_CANTLOADLIBRARY
//
// MessageText:
//
// Error loading type library/DLL.
//
#define TYPE_E_CANTLOADLIBRARY _HRESULT_TYPEDEF_(0x80029C4AL)
Because it is a windows error rather than a LV error, it makes me think that the error is coming from CoCreateInstance(). When you say you register the VB DLL and then put it in directories, why? If the DLL is an COM class, then when it is registered, the path to the location of the DLL at registration time is stored in the registry. If you move the DLL after that, COM won't be able to find it.