Even if Haddock told Williams he wasn't representing Williams in the lawsuit, if he gave advice on it, it seems reasonable that Williams would think Haddock was providing legal counsel to him and that they had a privileged relationship. It's not a requirement of the lawyer client privilege that the lawyer officially you in a court proceeding.
Of course, when a lawyer participates in the client's crime, the crime-fraud exception to the attorney-client privilege kicks in and the privilege no longer applies. But it's one thing for the client and lawyer to agree together to violate the law, and another for the cops on their own to get the lawyer to pretend to to agree with the client to violate the law. The latter, even if legal, seems morally bankrupt.
After all, why would Williams trust Haddock with the illegal details of his business? Because he trusted him. Why did he trust him? Because he thought he was his lawyer.
Whether it turns out to be legal or not, it's a really crummy way to make a pot and money laundering case. While I'm not shocked the U.S. Attorney's office and police department used the tactic, I can think of no justifiable excuse for Haddock. Like Pignatelli, he brings shame to the legal profession, and if only one defendant out there reads about Haddock and decides not to trust his or her lawyer with the truth, hindering their lawyer's ability to mount an effective defense, it's one person too many.
Some things are more important than catching drug dealers, and the public's faith in the sanctity of the attorney-client privilege is one of them.