Another thought…
During the setting-up of your limit switches you may have accidentally created a corrupt .xml (easy to do if you are using an external motion controller).
There may be an easier way but when something similar happened to me I had go to the Mach3 / xmlbackups folder and load an earlier .xml (rename it to <my profile>.xml and copy it into the Mach3 folder) and then re-make the required changes to my settings. It worked just fine second time around.
Tweakie.