Kevin,
It doesnt matter where the variable is declared because it is in Process_Globals so it is always accessible from any module.
The problem lies in the initialization.
The case we are talking about is when a service gets destroyed, and an activity resumes and tries to access the variable, it is not initialized (because it gets initialized in the Service_Create sub).
I am not sure how you are using services, but I did carefully have to think about where to initialize variables, when to load them, when to save them.
In this case both the Activity and the Service need the TempFolder variable. It seems that it should be set in both places if possible as long as it is initialized to the same value in both cases.