Many banks as well as exchange offices in Tenerife do not accept US Dollars. In some very isolated cases, they were exchanging limited amounts, usually $200 per transaction.

For credit cards transactions, most of the time they are converting the Euro charge into Dollars at an articially high rate. When signing the slip, you are signing that you are giving up your bank's (the one that issued the card) exchange rate and you are accepting this high bogus rate.