If for some reason motion continues an Estop switch is tripped killing the AC power and applying the spindle brake and alerting Mach.
First I missed out that you are using a SS. It should be handeling the homing and limit switches, not Mach. I know Greg has been working on something related to homing (slaved axis I think), but you might want to dig around on the SS forum (warp9td.com) and see if you can find anything. The situation you describe above really concerns me. You should NEVER have switches in your EStop chain used as limits on the machine. That is a big NO-NO. Limit switches should be tied to your controller (the SS/Mach in this case) and it alone should be responsible for bringing things to a halt if you hit a limit. You can even set Mach to slow down as it approaches a limit, so in fact, you should never actually hit one hard.
I have seen machines wired as you describe and it makes for a very dangerous situation when servo power is removed all the sudden while the machine is in motion. On big gantry machines they will lurch and slaved axis will jump out of sync. Usually the same machines that did this also had the limits arranged so you could actually drive past them! Another big NO-NO. Limits should be arranged so that the machine hits them just before a hard stop, there should be just enough distance to allow the machine to decelerate enough to avoid banging into the hard stop. You should never be able to drive past the limit.
A limit is there to let the controller know that something has gone wrong and that it should quite trying to move.The controller should be smart enough to know that it is approaching a limit (a.k.a. soft limits) and not try to drive past it. EStop is there to protect the operator in case something goes wrong.