To my estimation it's roughly equivalent to Aussie, Canuck, Brit or Tommy, as the British soldiers were called in WWII. It certainly doesn't offend me. The accompanying tone and body language could easily turn them into insults, however.

The term has a Dutch origin according to respected authorities from the combination of John (Yon) and Cheese (Kees).

Source: Wikipedia http://en.wikipedia.org/wiki/Yankee

Even the term damnyankee was found in American literature as a non offensive descriptive term. (qv).

During WWII, "Yank" was a term of endearment for all American soldiers and Americans in general.

I'd say: "Go for it!" But, thanks for asking us.