Harry,
My modal forms are fully modal so I don't have menus in them. I can't help much more with getting menus to work in a modal form.
As for scope of objects versus memvars, well, memvars come in three possible scopes, Public, Private, and Local. The scope of an object is from its creation to is destruction. An object can have more than one memvar reference to it and each reference will have a scope during which that reference is usefull. There is ALWAYS a reference to an object, when all references go away so does the object. The problem you are having is that you don't know what the defautl reference that VFP is creating is named. If you force the naming then you will know what the name is, as long as the name you force has the same scope as the object itself.
You can always work through the _screen.Forms() collection to get a reference to any form that exists. Although I prefer to use my own form manager to do this for me.