You're absolutely right - that's why attorney-client priviledge is in place. It throws chaos into the system otherwise because roles get confused.
1. Clients lie. If there's a gray area where attorneys have to reveal what clients say, and get in trouble if they don't, the system breaks down. False confessions get reported, attorneys report just to cover their as*, and so on.
2. The police and DA's did not do their jobs. Finding the true criminal is their job. After they found those guns and tested them, and found that they were used in the McDonald's crime, they didn't go any further b/c they had already arrested other people (!).
3. PLUS - the cops beat Wilson (the real killer) and so he got to go free. That really makes me mad. The cops are criminals in this situation too.
4. PLUS - I don't know if this happened, but it is a rule that the DA is required to share exculpatory evidence with the defense. Therefore, the DA was supposed to tell the defense attorney for the innocent guy that they had found another gun. The defense is then supposed to use this information to create reasonable doubt. The defense should be allowed to subpoena other people - like Wilson - to come in to testify.
If defense attorneys are supposed to break priviledge, it's just a shortcut for everyone else to be lazy and not do their jobs. Our system is skewed to give the benefit of the doubt to the accused (and especially on this forum - with crimes regarding kids - we can't stand it!) but this is the reason why. If the accused doesn't have the presumption of innocence, even more innocent people would be convicted.