The system I have seen work very well in the past is to create a culture of accountability, where as part of finding the bug, if nobody owns up to making a mistake, the SVN logs are traced to find the originator of the bug and it filed as part of the bug report. It sounds vindictive, but it is more a learning exercise to find out the weaknesses in our development process. What this does however is give someone a great incentive to test every case before committing, since their mistakes will be known to the whole team soon. Nobody tests better than the original dev, when his pride is on the line.
Definitely seen a lot of this around the traps but the biggest problem with this is (not that this isn't effective) most companies that rely upon this type of accountability rarely ever flip that around and start giving accolades or acknowledgements when the devs are working well.
If the company handles both the positive and the negative I believe a well balanced dev environment could exist. Unfortunately giving praise is rarely something a dev gets!
The best laid plans of mice and men are held up in the legal department.