>Is there a reason that oApp can't initialize it's DataDictionary when it's created rather than have something else call its LoadDataDictionary() method?
oApp serves for any platform. The only place I need a locking mechanism is if it is being used in the Web site or Web service platform. So, it has to be handled in the oProcess object. In that case oApp resides under oProcess object as it is the main object in such mode. But, in a desktop mode, oApp is the main object as oProcess does not exist.