>False positives are always a big problem. False negatives are usually much smaller one.
I would agree with you if the supply and demand weren't so skewed towards top developers. Do you think you are choosing between A and D people, or are you really choosing between C and D people and A and B people never walk through the door?
In my experience, there was considerable pressure on hiring managers to hire someone, because people are honestly needed. So, the risk of hiring one bad apple is offset by risk of being seen as someone who will never hire anyone (and thus will be excluded from hiring).
Then again, probably one of the worst bad apple I have seen would ace whiteboard as he was quite good at trics. He just did not like the actual work involved in software development and tended not to do work he don't like except bare minimum.
Once you hire someone you have to give them a chance to be successful. As the threshold for firing someone is (rightly) much higher than simply not hiring them, fixing a false positive is much more expensive than missing out on a good candidate.
Also you can fix some false negatives - allow people to interview again for other positions at the company. I've seen multiple people get hired on the 2nd or 3rd time around and ultimately be successful.