An easier way yet is to simply call "Me.Visible = True" at the beginning of the load event, and perhaps doevents will also be required after this, but testing with that and a message box, the form is visible when the message box appears.

P.S Jm, whats with you disabling pm's and emails