If I was using servos and encoders I would be using the absolute type and as you say soft limits would be my choice with hard limits providing final limits. As I'm using stepper motors this is not an option so while I could fit encoders I've decided to just fit switches. As you say, once these switches have been activated there must be a way to recover and I admit I have not investigated this aspect yet but I'm sure there is a simple solution such as an override button as you mention. With regard to limit switches these are always in the normally closed mode and are opened upon activation, this means that if the wire is broken or the connection fails the system will stop.