It's late, your tired and yet somehow you got stuck fixing the build because junior engineer bob just fired off a check-in and took off. It looks like the build is now broken because junior hasn't done a get latest in a month. In the meantime 10 other people check-in and just end up compounding the problem.
Unfortunately things like this happen. One day I just got so frustrated, I just wrote a custom TFS check-in policy which gets the last build status and validates a particular build type was actually passing before you check-in. I started with Jeff Atwood and James Manning posts where they have done a great job explaining how to write a simple custom check-in policies.
UPDATE:: I have since updated the policy to include a few fixes and packaged it up into an MSI and Source. You can download that here: