I had the same problem when calling Set var = CreateObject("DLL.Class"). This was happening from Workflow Visio VB Script. I created a simple VB script do the same and object was created without any problem.
After bumping my head against a very hard desk a few times, it dawned on me if I was using the correct version of RegAsm utility to register my DLL. It turned out I was not using the correct RegAsm version. I was using 64bit version of RegAsm to register my DLL instead of 32bit.
After registering my DLL with 32bit RegAsm, I am able to create object using Set var = CreateObject("DLL.Class") from Workflow Visio VB Script.
Hope this helps someone in the future!