The best I had was out of Cancun. It was from the Island of Women. I don't remember the name in Spanish. All of the islands you mention don't compare. You need to be guaranteed that you will go to a coral reef.
GRAND CAYMAN is the best!!! Ask to go to "The Aquarium" dive site if they go.....snorkeling off of the shore is awesome. We spent 15 days there last November. I sure hope the hurricane doesn't spoil your trip or the reef!