At PaperCut they have a blog about a "cute" trick they pull when someone breaks the build. I can see why they posted this, it's different and funny and so should get some attention. However, I also think it's a horrible idea.
You can either punish failure or you can reward success. You can't do both because constantly striving for success means there will be a lot of failures along the way.
Yes, you can strive for success elsewhere while saying a build should always compile when it checks in. Very fair. The problem is when a broken build is handled with a swift hit in the head. That's a heavy punishment for failure and that will impact how willing people are to possibly fail elsewhere.
You don't want your employees ducking when they suggest something different.