I was working with a MultiCam router today, repairing the Z axis motor. As I was rapiding up, it got near the upper soft limit and went into decel about a half inch before it stopped at the soft limit. I really didn't expect that to happen, so I tried it a few times just to be sure.
If there is no encoder feedback, the controller has no idea where the stepper is actually at. If the controller just instantly quits sending steps at the soft limit, but the motor coasts a bit, then you are going to lose position. That is a programmer being lazy. It's $&(# like this that caused me to write my own software. I can do anything except power down the computer and not lose position.