I half-agree with your statements... fixing a deadlock is great of course, but avoiding one all together, while still alerting of the problem, is even better than that. Having your code hangup in odd manners may be a good way to force a developer to fix it, but it will by no means please a customer.