I have my Z-home at the top of travel as you suggested, but also a limit at the top and bottom of the travel (Home is hit about 1mm before the limit). I set Z=0 for each new workpiece, at the top of the workpiece. The only time I use home is to get the axis out of the way when I finnished a program. Since I don't use precision switches, using home as a reference point can be quite hit and miss!
As for Mach2, I believe there is a setting in there somewhere to use the limits as home switches, meaning you don't need the two-switch setup I have. You should double check the manual forst though