I understand what you are saying. The excursion was originally billed to the MC. Then, once you were on the ship and it was cancelled, they billed the Discover card that you used for you sign and sail and then refunded it right back. That leaves you paying for the excursion 2 times but only being refunded once.
I would contact Carnival and explain it to them first. If you aren't able to come to a resolution, I'd call MC and dispute the charges. Good luck.