Andre, frankly I have learned to ignore the axes home setting! As far as I am concerned, zero is what I set it to be. My convention is that zero Z is the table surface; zero X and Y are (usually) the nearest left corner of the workpiece. This way I know that any negative value of Z in the code will crash the tool into the table! I use G-simple usually to generate G code, and this allows you to se the top surface of the "block" (i.e. material) at a known level above the machine table. I set the tool tip to a known height by using a setting gauge, which is a spring-loaded plate that sits 38.84 mm above the table surface. I position the tool just above this, hit the auto tool zero button, the tool moves slowly down, touches it, retracts slightly, retouches, then lifts up to Z=50 mm.
As I understand it, Mach 3 has a set of machine coordinates which are related to the home position, in a way that you can configure. On my mill (Denford Novamill) home is at minimum X but maximum Y and Z. I have configured Mach3 with the corresponding maximum feed values for soft limit purposes, but actually I never ever refer to the machine coordinates, but zero the machine so that the X Y and Z DROs are, as I said above, relative to the workpiece and table surface respectively.