The debounce settings add some delay in seeing limit switches. If they are significantly different, it could move he home position as the time that Mach sees the switch is changed
Easy way to look for lost steps is to write a short GCode program to exercise the motors. You will need some way to determine the actual position of the spindle.
For example, put a piece of rod in the spindle and set up a dial indicator near X=3.0 Y 0.0. Move the spindle to X3 y0 and zero the indicator. Make sure that it is not bottomed. A 1" or 2" dial indicator would be safest.
Then execute
G0 X 0
G1 X 2.8 F10
G0 X 0
G1 X 2.8 F10
G0 X 0
G1 X 2.8 F10
G0 X 0
G1 X 2.8 F10
(Then check the position)
G1 X 3.0 F1
You should adjust the distances and speeds to match you mill. You could go to X 3.0 each time but it is probably a better test to go back and forth a number of times before you bother to check.
When you command X 3.0 the dial indicator should still be zeroed. If you are losing steps on the rapids back to X 0, the indicator will read high.
I suggested losing steps in the minus direction because you are gaining 1/32" when traversing in the plus direction. I is probably worth doing this test in all directions X+, X- Y+ Y-. The key is that your test program rapids in one direction and moves at cutting speed or less in the opposite direction.
Graham