The current trend in removing features from software seems like a great way to have a dire shortage of engineers in 50 years time. The attitude that "software is a magic and untouchable black box, you can only use it to do the specific thing the developer wants you to" destroys the true power of the computer as a tool, it might as well be a radio or a TV that incessantly produces other peoples ideas.
Write useful, empowering and well tested modular code. Let the user work out what crazy and wonderful ways they arrange those modules. Don't make changes that serve only to glob more functionality up in to impenetrable, monolithic black boxes. </proselytizing>
Also: Overriding peoples existing preferences during upgrade? Nice work guys :/