We were in Mexico a few weeks ago. I used my Fidelity Visa (MBNA/BofA), SPG Amex and Citi AAdvantage cards.
My Fidelity Visa statement does not show any FX charge. The exchange rate used was close to the rate for that day. I assume if there was an FX fee, it would have been shown seperately.
On my Citi statement, the exchange rate was pretty close to the exchange rate on the date of transaction. The bottom of the statement shows the 3% FX fee I was charged.
My Amex statement shows no seperate FX fee. I noticed that the rate Amex gave me was approximately 2% less than the exchange rate in effect on the date of processing (i.e. - the 2% fee they charge).