If you ever want the
alternative behavior (i.e. start where you left off), look at possibly using the SUSPEND instruction from the "supervisory" program (e.g. $Main would SUSPEND program Auto), instead of EXITing from within 2nd program and re-RUNning from the "supervisory" program which would restart Auto.
We originally wrote SUSPEND as a debugging feature, but it could be utilized for this alternative behavior. (Note that Time does not accumulate within SUSPENDed code-blocks - so TMRs ALSO "suspend". Yes, technically, "time stands still"

)