I was on a Royal Caribbean cruise Dec 15-23. We were in Cozumel 7am-11pm, but four dives would have easily been do-able if we had pulled out at 7pm...provided the ship docks and doesn't tender. If tendering, you need to budget an extra hour on both ends to be safe. Check your your itinerary; it should say if you're tendered or docked. Not a guarantee, but a pretty good bet you'll get to shore as advertised. Also, make sure when you make your arrangements, you take into account any difference between ship time and island time.
I went with BlueXTSea.com (Christi is the shop owner, and her crew Pedro and Hector were great). We did Palencar Bricks and End of Delila in the morning. We didn't schedule an afternoon, but it would have been easy...and the SI would have been more than ample. Face it, there's not much more at 130 feet than there is at 70 or 80, so you can work a plan out with the divemaster I'm sure that will bring you many fantastic memories...safely. I did Santa Rosa Wall last year, and it was boring as blue can be at 90 feet...the good stuff was all around 60-80 feet, especially with my camera.
Only reason we didn't do an afternoon and a nite dive in Cozumel: we were really dived out by the time we hit Cozumel (the last port)...in the three days before, we did Cayman, Belize, and Mahahual (talk about a spacious livaboard).
If you're going to hit any of the other ports above on your cruise, or have more questions about diving from a cruise ship, I'd be happy to share what I just experienced...just post a question if you like.