Well, I sorta feel your pain, matt. I know linguistics and popular language are interests of yours.
I remember the early '70s here in Texas when La Raza Unida was popularizing itself as the Latino political party. They heavily promoted the use of “chicano” and “chicana,” which I easily adopted until I met some folks from the northeast who, surprise, surprise, thought my use of such denigrating. And told me so with fury.
That’s what I hate about public schools. They teach you a lot of facts, but they (generally) don’t encourage you to distinguish between wrong and right or to use your own mind. This is pretty bad coming from a teacher, but I could imagine them teaching students that “calling people gay is bad, calling people gay is bad” without telling them why. Even if they’re only seven, they obviously have the ability to understand the concept of homosexuality–the boy in question gave a pretty accurate definition. So maybe the schools could actually explain to the kids how “You listen to that band? You’re so gay” is offensive, not just to the insultee, but also to gays in general, and then they might draw their own conclusions about a case like this, instead of just blindly following what they’ve been taught. As for this teacher, everyone makes mistakes I guess, but… wow.