Long time since I've used Mach 3, but likely you have the direction of the final homing move or the position of the switch (in software) set wrong.

Mach 3 thinks it needs to do a final move in that direction.

I could solve it if you were using LinuxCNC.