Automation server not registering

I've get a bit of an annoying problem here;

I can easily create an Automation Server (some people call it a COM Server)
with delphi (tried in verison 4 and 6 pro, 5 ent) and create an Automation
Controller to use it myself. But if I try to register it with Windows 2000
using regsvr32.exe it does not actually get registered as an Automation
Server, just a COM object or something else like that.

As such, programs like Excel 2002 (XP) won't actually allow me to use it as
an addin. I can manually select the DLL, but Excel still refuses to use it
saying that it does not contain an Automation Server. So third party apps
when looking at my DLL can't see an Automation Server in there. So it's
probably not exposing itself properly. But why?

I can download some VB code (I don't actually know VB :) that creates an
Automation Server, which will happly register properly thru regsvr32 and
become useable in Excel 2002. It will infact be automatically included in a
list of all registered Automation Servers that Excel can find.

So my DLL is missing that special something to make it an Automation Server
(something that VB seems to have), but what? Does anybody know about and/or
have experience in this area and can help?

Have the OLE/COM specs changed since D6 was released? I've applied the
second D6 patch with no change.

Ta,

Nahum Wild
Software Innovator
Payglobal.com