Der Dateidialog ist eine quasi eigene Anwendung ohne "Parent"-Fenster und kommt deshalb in den Vordergrund.

Eine MSGBOX hängt sich automatisch an das Hauptfenster der Applikation und wird darüber angezeigt.

In Windows gibts irgendwo einen Parameter "Prevent Application steeling Focus" oder so ähnlich.
Diesen kann man natürlich auch für sich abschalten, was aber mitunter zum spontanen Wechsel von Fenstern führen kann.