If I pass an interface pointer for an in-proc COM server object ( that has already been created by another in-proc server COM dll further up the calling chain), to a COM object implemented in VB6, can the VB6 code access this object? I am confused because I believe that VB6 does not support MTAs, but the object has already been created in an MTA, so don't know what happens here?

I know that the VB6 code cannot create a COM object in an MTA, but can it just access an object alrady created in an MTA? Note that all COM objects are created in a COM+ application process, which supports STAs and MTAs.