Hi Richard,
All I can say is what I have done on my table, which works OK for me.
My limit switches, which are standard size microswitches, are fitted so they act before the mechanical stop is reached on all axis, however, if a mechanical stop is accidentally invoked the limit switches will not be damaged because they have a sufficient amount of extra movement beyond their actuation point. ( my stepper current is set to the minimum required so that no damage occurs if the mechanical stop is invoked ).
Mach allows limit switches to be configured in the setup so it is unimportant which is which end of the travel. My X any Y zero position is bottom left but Z zero is fully up. ( otherwise you could damage an expensive small cutter ).
As for the 'ref all home function' well I have not found any reason to use it as each job is setup according to the position of the work on the table and as I use double sided sticky almost all the time now the work is never always in the same place. ( this also distributes the wear on the leadscrews more evenly if the work position alters ).
Hope this answers some of your questions.
Regards, Cooperman.