This article discusses the issue and it seems it is not illegal for US citizens to accept a payment in foreign currency (since 1977).
http://money.stackexchange.com/questions/3582/are-there-any-countries-where-citizens-are-free-to-use-any-currency
Coinage Act of 1965, Section 102 states: “All coins and currencies of the United States (including Federal Reserve notes and circulating notes of Federal Reserve banks and national banking associations), regardless of when coined or issued, shall be legal tender for all debts, public and private, public charges, taxes, duties, and dues.” Only United States currencies (including Federal Reserve Notes) are currently legal tender in the US.
Keyword being LEGAL tender. Thanks for that BTW.
Try and pay for your lunch with a $100 bill and see what happens.