I'm so sorry this has happened to you. I had hoped that
DCL had stopped doing things like this, but clearly not.
I speak from experience because they did exactly the same thing to us four years ago, cancelling the Carribean cruise we'd had booked for 9 months (and had been planning and saving for two years previous). And much like yourselves, if you could make the alternative dates they offered, they were being very generous with offers of upgrades, ship credit etc, but if you couldn't (as we couldn't because my wife was unable to re-arrange her annual leave at work) then they just didn't want to know.
I sent letters and e-mails to complain, but all I got back were cookie cutter replies that took no notice of my appeals that not everyone was able to fit in with their new dates and that they'd bascially stopped us having a holiday for that year.
And what really riled me was that I also found out about the cancellation through the DISboards, and when they finally did get round to telling me, they also tried to pretend that it was "another company" that booked up the cruise, when it clearly was rescheduled as a DVC cruise - if it's another part of Disney making the booking, why didn't they reserve those dates before they were released, rather than spoiling the holidays of people who'd made the effort to book and started to look forward to going. That and the fact that they never apologised either (the nearest I got was a "we're sorry you feel this way" which are such weasel words).
It's because of this that I vowed never to deal with DCL ever again, and it shook my faith in Disney as a company for quite a while; so much so, that I did have second thoughts about booking a holiday at WDW for the year after. However, I realised that my beef was with DCL and that I'd never had bad customer service (or even below average for that matter) from any other part of the Disney corporation, so I couldn't blame the whole company for one part of it letting the rest down.
I hope that they will take more notice of you than they did me - don't let them get away with it again!