I have been in LA for almost 30 years now, and I've had lots of contact with Mexican culture. My understanding of their use of the term "gringo" is equivalent to "white American". I've never heard them use to term in reference to an "African-American" or an "Asian- American" (they have other words for members of those groups!), so it seems clear that "gringo" carries a racial reference, i.e., light skinned. It can be offensive, or not, depending on the context. The term "Yankee" often carries a sense of "imperialist" or "military aggressor".
I am far less familiar with the use of these terms in Chile. In general, my Chilean friends refer to me as "norteamericano" or "estadounidense". I had a tiff with a Chilean woman once who used the term "gringo" in the heat of the moment, so I have the sense that it is somewhat derogatory, or at least impolite, in Chilean usage. I also think that there is a lot of resentment, deservedly, towards the US throughout Latin America, so whatever term they use to refer to US citizens is likely to carry a negative connotation.



