To fix a machine, you have to understand how it works. The TNC when asked to home looks at the home switch for each axis. If it is on a switch, it will reverse direction and bring that axis off the switch and stop. Then when the GO button is pressed again it will climb back on the home switch. So if it knows to reverse and climb off but dosen't stop, it is not seeing the switch changing state! Orc maybe the switch has a open wire to the control. Many people check the switch itself but neglect to check the switch operation at the input to the control.
Travel limits are another subject.
George
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)