I see this is likely to be addressed in an upcoming release...
I'll just report the behavior I'm seeing too in case it's of any use for fixing the bug.
My mill has a MESA card, lcnc 2.8.4, gmoccapy 3.1.3.8. There's a limit switch (proximity sensors actually) for each axis, 6 in total. Plus a homing switch for each axis (3).
I find the limit switches and the <Ignore Limits> check box seems to work OK if the machine is NOT homed. For example I run the Y axis all the way back, to the Y- Limit and the limit fault is triggered. Ticking the Ignore Limits box allows me to turn the machine back on and move off the limit switch, at which time the Ignore Limits check box is automatically cleared, and I can repeat this process if desired.
Once I HOME the mill the behavior changes. Running the Y axis all the way back to the Y- Limit and the limit fault is triggered as it should. Ticking the Ignore Limits box allows me to turn the machine back on and move off the limit switch, but the check box is not automatically cleared. It's greyed out (disabled) and can't be toggled. Moving the Y axis back onto the limit switch removes the greyed out condition and allows me to uncheck the ignore limits box. With the Y axis sitting on the limit switch, and the machine still on, and the ignore limits unchecked, I can move the Y axis off of the limit switch (or onto it) at will. The mill will still ignore the limit switch even with the Ignore Limits unchecked. Cycling the E-Stop has no effect for me. The Ignore Limits option goes from greyed out off the limit switch to available when on the limit switch, but has no effect, the mill ignores the limit switch. Closing LinuxCNC and restarting restores operation.