Everybody hates Fred Phelps. Christian and non. But to my mind the hostility directed towards Phelps is directed at the symptom, not the cause. His hatred of homosexuality is the symptom. The cause is his belief is that the Bible is true.
I caught Sean Hannity on the radio a few years ago and he had one of Phelps daughters. Hannity says "I never heard from my priest that we're supposed to be this hateful." Her reply was "That's because you pay your priest to lie to you about biblical teaching." She went on to innumerate the Bible's unambiguous attitude towards homosexuality. She was right that Sean pays his priest to lie to him and she was right that the bible expresses abhorrence towards homosexuality. Phelps actions simply reflect a Biblical attitude and Sean ignores the bible when it is politically convenient. Sean was struggling.
Homosexuality is an abomination in the bible, worthy of the death penalty. Shellfish is also an abomination, but I'm not sure that one is quite as important. "Well, that's just the OT." Well, so is the condemnation of incest, which is at Leviticus 28. It's not in the NT. Does this mean incest is not a problem any more?
The question we should be asking Fred Phelps is not why he is so hateful towards homosexuals. We know why he's this hateful. Because the Bible is also hateful on these points and Phelps believes the Bible. So the question we should be asking him is this. Why do you believe the Bible?