Elara is right... It's a myth that you have to "speak up" before his behavior becomes inappropriate.
There are some things (grabbing boobs, using the n-word) that are JUST wrong... The "you have to speak up" applies to things that are NOT black and white (ie., a comment like, "You're mexican, so you like burritos, right" would be a GRAY area... probably not meant to harm, but still might be considered offensive)
Complain, do your job (as my mom would say "keep your head down", and he should be written up in no time. If he keeps doing it, he'll be written up again and eventually they'll have to let him go.
Good luck and keep us posted!
I'd still have to get some more info to be sure abt it. I mean, he might actually think he was trying to be friendly and playful by saying what he did. We still don't know the context (unless I missed it).
Honestly, it really depends on how you were brought up. I'm white, but growing up, I used to have a few close black friends and we used to listen to hip hop, so eventually, we'd joke around and throw the N word out to each other, but in that case, it was cool cause the people involved knew without a doubt that I wasn't being racial. Actually, until about 8 years ago, I still didn't think it a big deal to say between friends. Obviously, now I know that all black people are not like my friends from the neighborhood and might take offense to it. So yeah, I think there are still some grey areas when it comes to this. You really can't compare this to boob grabs. It's not like grabbing boobs is ok within the female gender. "Sally..what up, girl!?" *grabs boobs*. Ya know?
Unless this guy is obviously saying this to offend her, then I think the best starting point is to nicely tell him that he's not being cool or friendly by saying what he said. Once it's stated in clear terms, if he continues to violate her feelings and the feelings of others, then it should be taken higher.