Another thought is to sign up for the boats "all you can use" data plan and then use Skype or similar from a laptop. RCCL offers unlimited data for about $20/day.
On a fun side note, the RCCL cruise that goes from Los Angeles to Ensinada stays close enough to shore that I had cell phone (Cingular/AT&T) coverage almost the entire way.