I work with commercial CNC machines not Mach 3 but if Mach 3 interprets a G52 command in the normal manner you should be able to have a G52 command move any axis you want in any direction. Actually what it does is add a value into the work coordinate calculation in the machine processor.
G52 Z0.5 has the effect that the Z work zero location is moved (positive) 0.5
G52 Z0.0 means the Z work zero is not altered.
G52 Z-0.5 has the effect that the work zero is location is moved -0.5
I am puzzled because you write:
N81G52X0.00Y0.00Z0.09 I added in here move "z" up .03
When this command would move Z up 0.09
Similarly you have:
N217G52X2.0337Y-2.8707Z0.0300 insert the G52 to return to "Z" back to original height
This will move Z 0.03 and will also move X and Y
With G52 you should be able to set up your code and have the first run through preceded by G52 Z0.03 then repeat it after the command G52 Z0.0, like this:
G52 Z0.030
your code
G52 Z0.0
your code.
An open mind is a virtue...so long as all the common sense has not leaked out.