I know of particular programmers and particular testers who don't like each other, but not for the reasons you stated but rather because they make work for each other.
It's the nature of the beast. Some of the particular testers I know of who didn't care for particular programmers because they felt their code was prone to errors through carelessness/laziness/etc. Some of the particular coders I know who didn't care for particular testers felt they used ridiculously contrived test conditions (picking nits) or would request revisions to code based on style.
I think keeping personalities out of it, and focusing on the task at hand goes a long way to reducing tensions. If an organization is large enough, double blind testing is a great idea.
A tester who can clearly express problems, and coders who clearly implement solutions are a great team.