You are making some very good points.
Rick Warren is a political animal who wishes to change his tune in an attempt to be more acceptable. He is trying to hide his hatred.
Obama is giving him one more feather for his cap when it comes to denying his hatred. Now he will be able to say that he can't possibly hate gays because he has gay friends and the President invited him to present at his inauguration.
What upsets me is that people who have been subjects of discrimination rather than stand up and demand that Rick Warren withdraw his acceptance seem to be indicating that Rick Warren is acceptable to them because he is not prejudice against their group. This is an error because prejudice targets various groups over time and it is prejudice that must be stamped out, not prejudice against a particular target group.
Rick Warren should withdraw not because of who he is discriminatory against nor what he is discriminatory against, but because he is discriminatory. He and Obama are using their best political rhetoric to try and soothe the public, but the public has a responsibility not to be soothed. A lot of people have lost their lives when leaders are given free rein to practice discrimination.
It's fine to have a conservative at the inauguration, such as an economist who believes in a small government. But, it isn't fine to have someone who is discriminatory whether conservative or otherwise. There are a lot of conservative "religious" leaders who are obsessed with discriminatory issues rather than practicing Christianity. Instead of tutoring the children of immigrants or sheltering the homeless, they seem overly focused on judging and excluding people.
Obama should steer clear of all of these nutty religious leaders. In a forty year speaking career any well-functioning religious leader is going to have made mistakes.