What do you do in DoInitialProcessing?
In my example above, I am just using DoInitialProcessing as shorthand for everything I need to set up, instead of copying the entire thing. In my app, DoInitialProcessing is replaced with loading a script file, reading the header to set initial values and set up other things. Noting too time consuming, but shouldn't be done every time there is a change in orientation as some values will change over time and would be reset to initial values if the file is processed again.
Thinking about it for a while, I realize I could create a separate class module that would take care of file processing before calling the second activity. That would eliminate the need to check FirstTime all together.
Since it seems impossible to reset the FirstTime flag, and three different alternatives have been presented, I will go ahead and mark this solved.