I remind students when they say these words that they are offensive. I also teach lessons in language usage and tolerance. I think that literature is a great way to help humanize homosexuals. You can also ask students to think of famous people who are gay. I ask them to consider hurtful words that others might call them. When they use the excuse that they don't mind these hurtful words, or that they are taking control of them by using them, I remind them that the words themselves are offensive no matter how they are used.
When a student makes the random comment that someTHING is "so gay" they usually get my teacher-evil-eye and a firm shake of my head. That is usually the end of it. It may not have been directed to a person, but the implication is still there and it is never OK to use the word gay as a negative adjective. I personally have never had a student call another student a fag, but if I did it would result in immediate removal from my class. That student would be on his or her way to the dean's office with a discipline referral in hand! In light of recent news coverage of gay-bashing and gay teens committing suicide I don't think we can take any of this lightly.
I think that sometimes as teachers we interrupt our own teaching by addressing things that may not be that big an issue to the learning process. I agree that if those words are being used in a derogatory manner to other students it has to be addressed as a discipline issue. Other times I think you might be able to wait and address the use of the words in a one to one setting after class or during a non-instructional time during class.
WOW. It seems that "not calling" kids on this sometimes but addressing it at others sends them an inconsistent message. Of course I'm an English teacher, so I am well aware of the power of words both overt and covert. In our classroom, I address it if I hear it. We are in a small rural school district as well but we have gay students, and we have students who have gay parents. It's no different than using the word retarded as an adjective to put something down. When we use, words like this as an adjectival negative label, we are in essence saying that the people who live with those realities are less valued. It's sad when teachable moments are passed by, but taking the time to address it might cause a short-lived burst of inappropriateness, but students get over that, and then it happens less and less.
I do not address this as much as I would have to (I believe) if I taught in a more urban area. My school is rural and the students and administration are very conservative. This means that no one is likely to complain if these terms are used. (We have school-sponsored prayer at graduations...)
I do not allow the word "fag" to be used. But when people say something is "gay" I do not make a big deal about it. I believe that it would be counterproductive to do so. I do lessons from time to time where I discuss the issue, but I do not call kids on it day-to-day. I think that calling kids on it would only make them more determined to do it because sensitivity on that issue is so far out of the mainstream in my school. They would see me as that weird teacher who is trying to promote homosexuality.
So I try to be more subtle about things. I talk about gay rights and things like that when possible, but I do not try to fight the use of the term "gay" as long as it is not pointed at any person. If my students say "that's so gay," I don't argue...