One last thing. Do I really need to check if Messenger.MyStatus is > 1? If MessengerStart = False doesn't that mean that WML is already running and the user is logged in? Or do scripts run even when WML is running no user signed in?
code:
if((MessengerStart == false) && (Messenger.MyStatus > 1)){
Startup();
}