I can't believe some of the comments made on here, and I'm surprised there isn't more support for the OP. Even in Christianity, they preach to "
hate the sin, but not the sinner" (not that I consider it to be a sin, but I hope you get where I'm coming from). Besides, I'm sure there's more to the OP than just his religion... and there's more to his flatmate than just his sexuality.
You may need to go through a neutral 3rd party, if he's not willing to speak to you... and then get them to have a sit-down discussion with you about this.
A similar thing happened to me... I'm black and one of the guys I worked with in the Students Union was gay, but did his best to keep it from me. I think he assumed I'd be homophobic because I'm black. In fact, I only found out about him because I saw him coming out of a well known gay bar in our town with another group of people . Anyways, after a few (irritating) questions from him that I accept him fully for who he is, we bonded and became good friends (ironically, I think it was the fact that he was gay and I'm black... and we're both trying to make it in a world that was very biased towards the typical WASP (white Anglo-Saxon protestant)
Oh, and he made an excellent wing-man when we went out... I remember there was a group of about 8 of us, and he managed to hook us all up with some lovely ladies
I don't think the OP wearing the rainbow badge is appropriate.
Maybe I'm wrong, but I always thought that was a symbol to others that they were part of the LGBTQ community, and it was OK to approach them. Besides, that could cause big-problems for the OP if other Muslims saw him wearing that.
Good post from what seems a well rounded individual