Setup:
I have a Sieg KX3 running off of an Ethernet SmoothStepper, have control of all axes in jog and spindle control, everything seems to work.
I have a registered copy of Mach 3 running on XP 32 bit, version recommended by Warp9 (03.xx.62 iirc)
I have the Calypso MSM screenset for probing functionality, and a Tormach 'passive' probe that is set up properly and can probe faces/edges/etc
I have Tormach repeatable height tool holders for all of my tooling, and have verified that the spindle bottom face is dead level so that I can reference from the spindle bottom face
I have home limit switches which are by default... Z fully raised, X fully deflected one way, and Y fully extended forward away from the machine
I have yet to cut anything in anger, I'm completely new to CNC

.
Now, beginning with the probe (also in a repeatable height holder), I bottomed my spindle out on the vice I use, zero'ing the Z axis there. Then I raised Z, mounted the probe, and touched it off of the same vice location, and that leaves me with a positive tool offset for the height of the probe, that I can reference from 'home' detailed above. I put the probe in the tool database with a positive offset value that was measured from the touching off of the vice.
For the rest of my tooling, I intend to repeat the same process as I did with the probe, zero my Z on my vice, mount a tool, touch it off of the vice, and set a positive tool offset value.
So that for tool changes, I can add G code to return to 'home' for a tool change and prompt me, I swap the tool, and the program can continue from 'home' knowing its tool height for each tool. I'll be free to change vices, fixtures, clamps, hold-downs, whatever, and since my tool height is referenced from Z home none of that will matter, yes?
And for starting any job, my first order of business in any program is to 'home' all 3 axes, and zero them as a starting point, correct?
And if I start this way each time, my MSM probing routines will also return positive values on each axis for the work offset, correct? So that my probing routines should spit out sane offsets to start with, and Mach knows precisely where to start from based on the MSM probe routines and each positive tool offset, yes?
Am I missing anything here?