@pippin88, Thanks for the move on the shutdown workaround! It will help with the symptom.
Thinking about this more and doing some more testing. Adding more limits will not address the root issue, as any we could be at that new limit and this could still exceed it.
I believe it's a limit resolution issue. Note, I do not know how the code works in comparing and testing for limits. I should be able to specify the resolution of the comparison. In the current case it looks like is doing the comparison at 10ths (.0001) and that scale is just too small. One should be able to set limits at the granularity required for their hardware. My max machine limit is 0.3 absolute in this case. I tried changing my limits to 0.3, 0.30, 0.300, etc. But is seem to compare .3 to the current position of 0.3007 (example). Again, in my case, the axis can shift by 0.0005 +/- .0002. So I would like my limit to be 0.300 (truncated (not rounded) at thou) thus 0.3007 would not be beyond the limit. Think 0.30007 > 3.000 vs 0.300 > 0.300. Another means would be to add a VARIANCE ini setting to use to calculate the amount of variability in the limit comparison.
Also, this could be a issue for anyone with limits, but maybe due to off_set on the hard limit people don't see it. Or I am completely wrong in my limited understanding of limits work....
In addition, I am more sure the JOINT vs AXIS limit works as documented. (more on that later)