Very interesting discussion. One thing that comes out is that Mach3 should have a way, in CONFIGURE---General settings, to set soft limits to default to ON at all times. Then no one would have to worry about forgetting them.
Regarding the "controlled stop" at E-Stop or hitting Limit Switches, many good points were made.
For some of us, I'm sure the main thing we wish Mach3 could do is NOT to lose knowlege of its location, even after those errors. With steppers (without encoders) , this can't be done if the step pulses stop, because it is the step pulses that update the DROS position. That's why we like soft limits, feedhold instead of STOP, etc. With servos, there are encoders. If Mach3 tracked the encoders and updated the position DROS at all times, even after stop or E-stop, it would be easy ( in absolute mode) to reset, and continue without having to rehome at all. Unfortunately, it doesn't, so a "controlled" stop could retain the position in some cases, namely hitting the STOP button on screen. As for hitting limits, the soft limits already somewhat do the "soft stop at limits" being asked for. The slow zone could be reduced making the axis decelerate faster. The minimum stop time is limited by the step motor capability. Early CNC's did in fact have two sets of limit switches. First one stopped all movement but retained position. Second one killed power, applied brakes (especially on Z-Axis where gravity would bring a thousand pound head crashing down, etc.) More later..if you don't drum me out of the corps.