Delphi 32 - Calling In-proc servers

I  think I've found a bug in Delphi 32. Where I work we have a number of
in-proc OLE servers written in C++ that I have to call. These are mainly for
data access. Recently the developer that was doing the c++ work complained
that the databse within one of these servers was not being shut down.
When we looked at it and added debug etc. we found that whenever the c++
object was created the refcount was being set to 2 and when it was destroyed
it was only being decremented by one - and no - there were no other clients
calling the object. Calling the same in-proc server using C++ or VB4 worked
The next thing we tried was creating a simple delphi in-proc server and a
client to call it and destroy it - and - same thing - the server would not
destroy - or at least it appeared not to. Using varclear on the variant and
then checking it reported that it was unassigned but trying to recreate the
server resulted in an access violation - the server was merely creating a
modal form.

Has any one else seen anything similar ?????

Tim Winstanley