George,
I'm not sure about the inner details at all, but your explanation sounds as feasible as any other. I don't think VFP is treating our Top-Level form windows as the "real" owner of all the other child windows of the process. I think they have the dialogs hard-wired as child windows of _screen.
>I believe what's happening is that this dialog (and other's, such as GETFILE()) are inheriting the parent's visibility (in this case FoxPro's main window), even though they're invoked by a call to the API. Calls to the same dialogs via the Common Dialogs ActiveX control, apparently do not get the parent's window handle (and state) passed to them. Therefore, they are unaffected by the parent window's current status.