Even if your ATM card is a VISA, you are taking a risk by using your card off the ship, especially in Mexico. There are phony ATMs scattered around that take your card and PIN info, and then show "Out of Order", dispensing no cash. Before you can sneeze, the owners of these phony ATMs start cleaning out your bank account.
If you must use an ATM, use the one onboard your ship. Better yet, if you need cash, you can get it at the casino cashier and put it on your shipboard account. This way, you avoid the hefty ATM fee.
I agree with above poster. Don't take food off the ship. There are signs at the gangway warning you, and they don't apear to be "suggestions"!