Maya Island Air flies between Cancun & Belize City.
By bus, you will have to get to Chetumal in time for the afternoon water taxi departure. The San Pedro Belize Express water taxi has a connecting water taxi to Caye Caulker.
If you arrive in Chetumal too late, maybe you can get to Corozal in time to get a flight to Ambergris.
You'll find lots of info on my BelizeBus site, including links to the Belizean airlines and a link the the ticketbus site site for Mexican bus schedules:
http://belizebus.wordpress.com/