IF you want an independent form then a ActiveX EXE should be sufficient. A independent form is a form that can be displayed and the calling application is continues to run. The two don't stop each other. A .NET DLL is overkill in this case.
If you need something that involves traditional multi-tasking, like taking a chunk of data and processing it, then a .NET DLL may be a better solution as the multi-tasking is more straight forward than the EXE->Active EXE solution of VB6.
Based on your other question I feel that creating a global multi-use class that exposes methods and parameters to call up the forms you need in a ActiveX EXE referenced by your EXE will be the way to go.
More specifics would help me craft a better answer.
@EDIT AFTER COMMENT
Then transferring the forms and objects over the ActiveX EXE would be the right way to go. Then you can reference the ActiveX EXE from the original EXE.
The only gotcha is whether what you are copying is truly standalone. The good news is that by staying in VB6 you will catch any issues immediately rather than wondering if it is an artifact of the conversion process. Later on you can focus on a conversion to .NET if that is your long term goal.