JM,

That is very interesting!! If "gringo" is not used in Spain, maybe the "green grows" story has some truth to it.
The term is also used in Brazil; I guess it spread across the border from Argentina on its way south from Mexico. It is usually pejorative, but I had friends there who called me "gringa" as a term of endearment.

Speaking of which, what about the origin of "Yankee?" I used to know that, but in my dotage have forgotten. Interesting, those of us who live in the South (the Dixie cups) reserve that term for those who live in the North. But folks in the UK and Australia call us all Yanks. And South Americans call us all "Yanquis."