Sometimes the dragon wins
I tried your file Chip and monkeyed with the settings a little, once I got the motor's running in the right direction I tested switches, here is what I saw...
1. Moving the gantry to the center, I could trigger the X, Y or Z limits and the E-Stop would come on as expected. In Diagnostics the X and Y work identical and the Z shows the home and Z++ limits.
2. I then used the ref button on the Z,Y and X. The first two homed perfectly and the X will run to the switches and then trip the EStop leaving the LED's on. However unlike before I can clear the EStop and move the gantry out clearing the switches and everything is fine.
It's almost like there's a setting that's causing the X to trip the EStop before it can clear off of the toggles when referencing, the Y and Z both blip the LED's and the X sounds like it's going too but either it's not fast enough or I've missed a setting somewhere.
I changed the Config a little and have attached your Chip with my changes, so this is the latest version.
I'm at a loss as to why the Y would work and the X would not, I have the home speed set at %30 which is pretty tame, everything looks good to me. And the machine functions fine, all I need to do is get this fixed and I'm golden.
I've attached the latest XML file for perusal..
Thanks for your help.
-Paul-