Can you remind me why there is a need for this other than forgetting that you have not enabled softlimits?
I looked back and I see this as your reasons.
1. Some machines stop faster when there is a controlled stop instead of killing the drive clock.
2. On stepper drives, hitting "stop" usually results in lost steps, causing the need to re-reference position. So operators usually ponder whether it's really necessary to hit "stop" but maybe "line feed" does as well. That's not the sense of a "stop" button to ponder before hitting it!
3. Sometimes, soft limits simply don't work.
3a) Sometimes soft limits just are switched off by operator
3b) Some machines do not have a rectangular working area!
3c) Some machines have changing dimensions of working area.
3d) If soft limits always worked, they would be useless.
4. At some machines (usually smaller ones), the impact on the machine by the abrupt stop when triggering the limit switch is even harder than that one caused by crushing into the elastic dead stop.
1. That may well be true but surely that would be up to the machine builder to provide a remedy for this? Especially when you remember that a Hardware Limit is an emergency situation so hardware means should be used rather than relying on software.
2. Mach is open loop so there will always be the high possibility that you have lost position when stopping in an emergency situation (Hardware Limits or E-Stop) It is no big deal to re-reference again, in my opinion, in the rare instance that soft limits have not protected you.
3a. Operator error and could be overcome with some VB in the cycle start button or hiding or disabling or requesting a password on the softlimits button to stop an operator disabling the soft limits.
3b. Dont understand this, Hard Limits are placed at the extent of the axis so how would the working area come into play. Hard Limits are a per axis thing and turning them into a software limit operated by physical switches is not going to help as far as I can see.
3c. That is the job of the soft limits or the operators programming responsibility. High End CAM and very expensive controllers have work envelope, fixture and tool awareness features but are complicated to set up and really only worth it if doing long production runs I would think.
3d. Not sure what you mean by that, softlimits are there to do exactly what you are wanting and why they would be useless when working is not understood by me.
4. Again use soft limits and only rely on your Hardware Limits for emergency situations when, in the unlikely event, Soft Limits fail.
Just my opinions of course

Hood