I have found a solution to the problem. But the problem still bothers me intensely.
How I came about to the solution was like this. I searched through the registry for a class ID the same as the class in my DLL. Lo and behold I found another application with the same Class ID. Having found that out it was really easy to get past it.
All I had to do was recompile the DLL in question without any campatibility settings. This would give the class in the DLL a new Class ID. Very difficuly problem, very easy work around once the cause of the problem was found.
OK. Now I ask myself. How did this other application get the same Class ID as my DLL class. I can think of 2 options.
Firstly, my registry might be corrupt. This is unlikey as my PC is my bread and butter and I am very, very carefull about was gets installed and run on it. All of my development software is loaded from MSDN subscription CD's thanks to my boss. Ok, but you will say that a corruption can still occur. OK. but a few days a go, I was messing around with security settings on my PC. Lovely stuff, however when I was finished my wife's pass word would not work to get access to my PC from our home network.
Instead of searching to find out what settings I had set up wrong, I used the beautiful feature of XP of restoring my system back a few days. Now the date to which I restored my PC just happened to be before I started with this new DLL. Therefore I had to register the DLL. This would mean that the registry as far as this DLL was concerned would be as new. First time registration.
These leads me to consider that maybe the XP's system restore has got a few hiccupts in it. I hope not.
The 2nd option is even too scary to contemplate. That maybe Microsoft generated two GUIDs that where the same. I do not even wish to think of the consequences of this option.
Does any body have any feed back on this.
Please to all of those people that I have contacted, I still request that you please send me contacts for persons on the know with regards to VB6 and COM+. Every body these days is using .NET.
While they are learning this new thing (.NET) I am making money with COM+ and VB6.