If the real issue is that your application is running in a non-interactive environment then moving the message box from the Load event to the Startup event will not solve your problem.
In the Startup event you should check the Environment.UserInteractive Property. If it is false then you cannot display a message box or a Form successfully. You should use an alternate method to provide user feedback such as writing to the Application Event log and/or to a file.