Thanks, dpb. I do keep an eye on things, and we are influenced by what we read on these boards. Penny posted on one of the recent threads that we decided to change course on one (out of 5) planned incompatibilities based on feedback we've heard since it was announced.
Our decisions to change or remove functionality are often motivated by having the right design for the long term. We all share goals of having MATLAB being as capable, consistent, coherent, easy-to-use, etc. as possible. Features can really add up over time, sometimes leading to behavior which is inconsistent or overly complex. Sometimes the best way forward is to change, or even jettison, functionality, if we think we could deliver more value to all of you by making such a change. We obviously need to exercise the greatest caution when these changes impact your code, since the ability to carry code forward from release-to-release is extremely important for many of us.
We try our hardest to make the "right" decisions. We have processes in place for helping to drive these decisions, but we never have perfect data. I think we've got a great track record, as for every issue we hear about, there might be dozens of other changes that went through without causing a ripple at all. We do need to hear from all of you, though, when we get it wrong, so that we can re-assess our decisions in light of specific input.