Just thought of another way to improve on this. Since the program that is next in the cycle is controlled by Trigger2.g (or whatever trigger number you use), This file should be able to be deleted and re-written with the M30, M28, and M29 commands in a macro.
That is assuming those commands will allow writing to a system file (I have not tested it yet).
This means a macro can be used to set the next program, and also start the first program. so you could have a macro for each production program you want to run....simple 1 click operation, once it is setup.