The problem is that Cruse company can set up their ouw rules. What you missed is that you did not check with the cruse line. If you travelled by yourelf, you definitely would be fine.
I had a similar experience. I have have Canadian Maple card and US visa and asked a shuttle company whether I can take their shuttle to Detriot from Canada, they told me NO. To go, I have to have Canadian or US passport. The reason is that if they take me, it will take them a lot of time to clear custom check and other passenagers do not like to wait.