Ciao, le grosse navi da crociera sono dotate di dei sistemi in grado di replicare tramite satellite il segnale mobile permettendoti di chiamare e collegarti anche in mezzo al mare, ovviamente non sempre e non ovunque, non è una rete pari a quella terrestre(non sono espertissimo se vuoi puoi approfondire).
Sostanzialmente esiste un altro tipo di roaming oltre a quello estero, il cosiddetto "roaming marittimo" per cui l'AntiTrust è già intervenuta più volte in quanto non è regolato da limiti tariffari come quelli presenti sulla terra ferma e di conseguenze i costi sono molto alti, si parla di prezzi folli (fino a vari €) al minuto per le chiamate, prezzi ancora più folli per la connessione internet e come hai potuto constatare tu stesso anche 0,50€ per un SMS...
Certo è che in porto il tuo cellulare avrebbe dovuto collegarsi alle antenne terrestri evidentemente per qualche motivo sei rimasto sul roaming satellitare della nave. Bisogna fare attenzione in mare a non farsi spennare dai soliti gestori telefonici avvoltoi, cerca su google "roaming marittimo" vedrai che trovi tutte le informazioni e dritte di cui hai necessità.