Daedelus,
Congratulations on your program, an excellent job. As a programmer, I too was considering writing something similar but as I managed to get the Autoleveller version of PCB-Gcode working, the need to do so lessened.
Your approach of making it independent of PCB-Gcode is definitely a step forward and as you point out in your earlier posts, makes it much more generally applicable to a range of other uses.

I have had a little play with your program using a PCB-Gcode file and all went well. As you asked for feedback, I have a couple of comments / suggestions.

1) In the output file, after the inserted probing code, just after the motor speed command (S25000 in my case) your code inserts an S20000 command. A bug I guess.
2) In the Probe Settings section of your GUI, you have a Z Safe Height parameter. After looking through the output Gcode file, this only seems to be used (together with the X and Y parameters) to define the point to return to after the probing stage. As the whole area has just been probed at "Probe Movement Height" we have to assume that it is clear and therefore is this parameter really necessary.
3) The probing, whilst essential, is time consuming and therefore anything that can be done to minimise the time it takes has to be good. Only the part of the board that is going to be machined needs to be probed, therefore could I suggest that your code analyses the input file to pick out the X and Y extremities and therefore automatically sets the parameters X, Y, X Length and Y Length, thus minimising the number of probe points. This has the added benefit of four less parameters to fill in and to possibly get wrong.

Thanks again for your efforts. Keep up the good work.