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.