Calling someone who is gay "gay" is generally not a problem. (Depending on context it obviously can be, but that's then more dependent on the context, not the word.)
The implication of calling someone who isn't "gay" is that being gay is somehow bad or something to be offended about. That is as clear a homophobic statement as there can be.
It is homophobic, by the way, even if the intent of the speaker isn't there.
The way I've always thought of the word "gay" being used in that way was not so much that it was bad to be gay (as in the sexuality) so much, but that you are associating the person with certain stereotypical gay traits such as effeminacy which would be somewhat insulting to a stereotypical macho construction worker.
The difficulty is when you put people not used to that environment into it, the real issue is a conflict in expectations rather than the exact language used.
You'd also probably get made fun of more for being say Irish or Scottish than for being black.
Whether or not it's "okay" it is not something you could reasonably expect to be changed for one person.
I would think that really her employer should have managed her expectations better.