Definitely bring 50-100 bucks in 1's. That way you can tip porters, cab drivers, etc., and you can also bargain more effectively with the merchants that way. I read that tip before I left and it was the best thing I did. I also brought 4 50's for steward tips.
Cozumel, Progreso, Belize, Cayman, Honduras (Roatan), St. Thomas, St. Maarten, St. Croix- all took USD.
The easiest way to get foreign currency is to buy something small- they will almost always give local change.