I think it all boils down to this : it depends on the tone of voice and/or purpose we use the term "gringo". I've been living for over five years in the U.S. and, I have met people whose physical outlines would certainly become a reason for many people in my turf( Honduras) to call them "gringos". By physical outlines, I mean blue or black eyes, white skin, usually blond hair..and English as a native language. And some of the people I have met think the way you do: the term is offensive to them. But others( I would say, the vast majority of those I have met up to now) do not find it that way but funny instead. To me, it is not offensive at all as long as your purpose is not evil towards the person you allude to.Originally Posted by Thomas
Now, the other Spanish phrase you referred to(hijo de p***).. if either me or ANY person who uses it has not built up the right level of relationship allowing the use of such term with the other guy..other than being very offensive..I could guarantee that for all hell is going to break loose.
Overall, I understand your point. But I wouldn't even dare to make comparisons between the use of that phrase(hijo de p***) and the use of "gringo", nor would I use that Spanish swear when addressing someone unless a very special and/or specific level of interaction has been built up between that person and me.
To my understanding and from what I've noticed in the U.S. so far, the most common translation for that Spanish swear in English(pretty much accurate, which is "SOB") is not used in the same context(strong or not) in both languages. If I am wrong, well,.. please nicely correct me. But the Spanish swear you just referred to is quite strong.
As for the term «gringo» and its origin(as far as I know) I couldn't agree more with Vicente's and Julio Jaubert's anwers.