Awesome. thanks for this. I have also been wrestling with this issue (using a bed swapping mechanism though) and found another work around that might help some folks.
Simply upload your Gcode files in the macro folder and call them like a macro, from a master gcode file (one that can call the macro as many times as you like). I also put M99 at the end of the macro gcode file, but that was probably not needed.
Only downside of this is the status of the print is not shown like normal (no tracking of what layer you are on, % left, etc), as it thinks you are just running a macro... But the upside is that you can specify easily how many times to print in the master program.
I need to see if there is a way to specify the number of reprints using the trigger method. I am sure there is, but have not figured that out yet.
Toby