I remember on my first cruise, we had to make ourselves known to a Customs Official onboard the ship (Majesty of the Seas) back in 2007. I think we just had to show our passports, and our SeaPass card. This was I think the night before arriving (or the morning of) arriving in Key West, Florida. Prior to this, we had been in Coco Cay, Bahamas, and before that, Nassau.
I'd have to look closely at the Jones Act (I think that's what it's called), but my mom thought we couldn't stop at a US port if we had departed from a US port (on this particular cruise, we departed from Miami).
2007 - Majesty of the Seas
2009 - Enchantment of the Seas
2010 - Freedom of the Seas