lol pravit, well it all depends on who you are. In my opinion if you're the suit guy that sits up in the office and lives off stock interests (I.e. business man) you probably don’t want to be called a gringo. It is most certainly incorrect to use the term with your teachers and professors. as for me, gringo means, "hey white boy." If you don’t like "hey white boy" then you wont like the phrase gringo. Think of it as wut up black dude. LOL
Coming back to the big picture, for formal situations and for people you don't know, I wouldn't use it as it will be taken as a sign of disrespect. As for me I'm 20 and occasionally when i talk to native speakers my age, I tend to slipup and use the word "gringo."
Pravit, have you heard the "so-called" origin of how the term came into existence? If not, I'll tell you, it’s a rather amusing story.