Purely to make a theoretical point and not to suggest any particular course of action, If CX aren’t honouring the contract in full (e.g. not allowing changes etc.) then the contract can be declare void by the other party and a full refund irrespective of cancellation fee should be possible.