In my experience, OpenArgs has to be handled immediately upon opening of the form. To my mind, that's why the MsgBox made the problem go away. What you may want to do is dimension a global string variable, maybe called txtFormName, in the form. In the first line of the form's Open event, you can have code like
Code:
txtFormName = Me.OpenArgs
Then you can do whatever you need to before actually using that form name; you already captured the OpenArgs.
HTH,
Sam