Mark - Just a quick look at your config screen, the axis want to be unticked for linear work - you are showing them ticked which is angular. That, in itself, should not make any difference, because I understand the only thing it alters is changing from inches to mms (angular doesn't change)
I cannot speak for Mach 2, I never ran it.
I am at a bit of a loss at your system. The way I mill is my X0 Y0 are at the bottom left hand corner of the table. My Z0 is with the tool tip touching the top of the work. I set all to zero and away I go.
If you are manually changing the tool, then I would ignore M6 and halt the program with command M1. Mach 3 will then allow you to jog from where ever you are to where ever you want to change the tool - and the DRO's will keep track of the movement
If you then change the tool, and touch the new tool onto the top of the work - set the Z axis to 0 again. Then lift it and move it to where ever you want to carry on, which can be where you left off, or somewhere completely new. You can either jog to a new position, or enter codes manually. Press cycle start and the program will continue.
The one thing you have to do is put in the M1 commands, otherwise Mach3 does not always start from where you think it will. Apparently - and I have no rule of logic for this, it sometimes steps back to find a place to start from - I don't know why.
Hope this helps.