You should never rely on an object to be there because the AppDomain maybe killed for any number of reasons. Most common is code updates on the server, changes to web.config, IIS idle timeouts of Application Pools.
Your global objects should always be static and run with a static constructor so they can reactivate on the first hit that occurs against them.
+++ Rick ---
>I am trying to resolve this one since a while. On a specific server, my global application object, which is initialized on the first hit to the Web site, is being reseted after one or several days. Basically, oApp still exists. However, all of its properties are back to their default settings. This doesn't make any sense. So, when this happens, it crashes the Web site as important settings are completely lost. What is causing that on the Web site?