I take your point, but good interface design allows you through preference settings to decide the level of how stupid you are. If I have unsaved stuff I want to be asked if I want to save it. A Bad interface design stops user action that could be valid and are not distructive. I was good at this stuff in my day, but haven't coded professionally in 20 years now, I actually think computer usability has gone down hill since then. I'm typing this on a 10 year old MacbookPro running an OS even older. Because it just works and doesn't make me jump through hoops just to entertain the computer or justify some ones pay cheque, but I'm getting well off topic.
We are talking about giving simple feedback at the point the user is stopped by the system from doing something. If this is not possible trying to inform them before they stuff up is the only other way. If all that fails we will be no better or worse off than we are now, but does that mean we should stop trying to find an answer?