Had the same issue on Princess a few years ago. The rate of exchange they use is also very poor, no matter who the credit card issuer is, so with the Nationwide (which I also use) you lose the advantage of commission free foreign transactions and get stung by the poor exchange rate.
As far as I know, the only way around this is to register your card when boarding the ship (to stop them hassling you) but pay at the end of the holiday using USD travellers cheques (or cash). The only problem with this is knowing how much to take and not to lose out should you have to re convert from USD to sterling when you return. Ideally, if you able to pay off the majority in USD cash and pay the remaining balance on your card at least the rate loss is minimised.
I don't know whether these newly introduced travel money cards (eg from the Post Office) where you preload them with funds would help because as far as I'm aware you can only use them to withdraw cash from ATM's and, once again, any money left on them would have to be converted back (or you keep it for the next cruise!).
Basically, we lose out!!
Have a nice day.
We had this issue onboard the sea princess last year. The way round it is to pre-register your credit card as normal then the day before disembarkation make a manual credit card payment which will clear your account up to that date,this will be converted by your credit card company. For the last night just allow the cruise line to convert, unless you go really silly the costs involved are minimal. Hope this help.
RCI can do this to you despite requesting to pay in US dollars on their forms. We always double check with the accounts section near the end of the cruise and this has always worked for us....Nei.
I have always gone for the credit card conversion its better but RCI have never let me down.