Update for anyone interested.
 - None of my coding attempts worked to code the actual input signal.  Either I am just that bad at code, it was in the wrong file / position, or it just plain didn't work.
 - Bob at pmdx's solution with the spindle works very well.  However, I had to enable reverse in the spindle setup screen in Mach, and I had to make sure Const. Surface was selected in the General tab, as opposed to Const. RPM.  I have no idea why, but doing those things actually made it work well.  Thanks very much Bob.  Huge weight lifted off my brain.
Just to elaborate further for future reference.  I have to set the torch to fire during the height sensing process due to a very slight delay from when the THC commands motion versus when the signal is sent for motion.  This I believe is a THC/plasma machine issue that I think I can solve.  If not, then I can add a half second dwell after M03 to fix it so I can save consumables a bit.
Also, very occasionally, Mach will get hung up on the M05 command.  Its inconsistent, so I think its just the demo version of Mach messing with functions.  Luckily, I can finally resolve that issue tomorrow.
Chaotic - I'll check out that information next to see what its all about, thanks for the info.  I did try using a signal script earlier, but it was either in the wrong place or my code is just bad.