4 cats. (2 dogs... and a partridge in a pear tree)
I'm afraid I've lacked the time to get to this (I did get your email a few days ago MX, just been mad mad busy).
Grabbing a few minutes to put down a thought or two.
The exact issue isn't a resolvable one I feel.
The problem is indeed simply scope. Even with an AddIn loaded - the objects of the running application aren't available - as they're in a different VBA project. AFAIK you can't refer to another project simply with any ProjectName.ObjectName syntax. The object simply isn't accessible.
While you could tempt providence by attempting to alter or create new procedures at runtime - that has far too many limitations for my liking (for example runtime and MDE distributions).
I also feel a second copy of the form is not pretty as solutions go.
Still a workaround - but less of an upheaval - it occurs to me that if you know/create the form name in advance (which you must do when instantiating such an object) then you must have a prepared form in place - so why not a sister prepared procedure.
This procedure would perform the form instantiation on what is a local form object to the running code. (Using the standard code as you've shown in the question).
Calling a procedure in the running application instance is perfectly viable.
Of course since the procedure will need to be in each of the running applications, and the call to it is from the library MDA then, by itself, it would fail to compile and you mustn't let that happen - it'll not be pretty as it loads the MDA proc.
So instead of calling your proc
Call MyFormInstanceSub
just wrapping it with
Application.Run "MyFormInstanceSub"
This will prevent compilation of the named proc - but when called at runtime will execute it in the locally running application.
You'll want to add the necessary error handling in case you're running an application in which you haven't yet created the appropriate procedure - but that's no hardship obviously.
So as a summary - IMO you'll not be able to create a class instance by external reference to another VBA project.
But the procedure workaround shouldn't be much effort.
Must dash.
Cheers.