Depends on the context
Now I don't speak Spanish very well at all, but I understand a fair amount, and I can tell that 'gringo' isn't necessarily an insulting or disparaging word. It depends on the context, kinda like the word 'yankee'.
If Jennifer Lopez were to smile and say, "Come here, you gringo", I would not take great umbrage.
