if you are running version 2.1.4 you could use the tool length sensing function.
Only problem with the tool sensing function (i havent tried it yet) is that it wants a static location on the machine to touch off on. With a plasma you want it to touch off every time before it starts a cut in the location where it would start cutting (sheet metal tends to go up and down). I was thinking of writing some sort of macro where it would tell the machine to home the x axis only and then back off by what id want as pierce height.
you should be able to put "#machine.x "and "#machine.y "in for your table position sense position and it should sense from where ever your machine is currently at. look on page 120 in the manual it tells you what the "#machine." var does. it loads the current machine cord. int the program.
Put it in the G-code. If you have control of the Z axis that the torch is on then all you have to do is add a "reference" before pierce (m03) even the Homes the Z and then backs off a set offset (based on the Z sense swtich) then Zeros the Z axis (dunno the Flashcut G code that does that) and then raise it to pierce height.
IN MACH3 the code looks like this (comments in square brackets)
G00 X12 Y12 [move to pierce point]
G28.1 Z.5 [move Z rapid down to .5 inch then down to Z touch switch (MACH g-code)]
G00 Z.029 [lift head to offset swtich overtravel; this number varies with setup]
G92 Z 0.00 [MACH G-code to reset Z DRO to Zero]
G00 Z .125 [move to pierce height]
M03 [fire the torch]
G04 P#[Pause if you need to for pierce delay with #in seconds]
G01 Z.063 F40 [plunge into the cut to initial cut height]
That get put into the Post for each M03 event so you get a touch before every pierce.
The touch switch is mounted on a vertical slide (floating head) that allows you to let the material push the torch up and trips the switch to sense the material then a net offset is put in the lift the torch so just tip is just sitting on the material surface.
There are photos of Floating head designs on my CandCSupport Yahoo Groups site.
If you use SheetCAM to define toolpaths and generate G-code the touch off can be made to be conditional on distance traveled since last touch off so if doesn't do it each and every pierce.
Flashcut does not play well with plasma cutting and THC control
i have THC it just doesnt touch of autmatically i need to set it to cut height and then start cutting, of course this doesnt work well travelling from cut to cut, i need to sit there and jog the z up and down as it travels to next cut to avoid hitting the plate.
I have looked at going to mach, but IMO for plasma it will not suit me well. and i dont think that the gcode you posted there will work for flashcut but ill check it out.