All software has to deal with backwards compatibility considerations, including libraries and frameworks. In many cases it's very easy to change something, but will break a huge amount of things dating back many years, causing on-going problems for lots of users for years to come. If it's that disruptive, normally the conclusion is it's not worth the trouble. As I said, this affects all software - imagine Windows removing support for Win32 apps in favour of only .NET apps. It would be absolute chaos and they'd be forced to reverse the change, even if you could prove .NET apps were far superior in various ways. Microsoft can foresee this, so they're unlikely to ever make such a radical change, even if it would make the product much better. So in that situation they're also stuck with a system that is maybe not ideal, but is better than causing a massive amount of disruption.
One of the big mistakes with C2 was people could modify the plugins and behaviors. This might seem like a useful thing to be able to do, but it caused awful, awful compatibility problems. It was a total nightmare. In some cases you couldn't even open the same project in two different versions of C2 if you had modified addons. If you did a fresh install of C2 maybe your old projects would no longer open. We could not offer any kind of support at all, on the forum, by email, or in bug reports, if anyone had changed so much as a single line of code in C2, since they could easily have broken things themselves. A bunch of people went ahead and did it anyway and then got upset at the consequences and ended up begging us in support to fix all the problems they ended up with, such as corrupt projects, and so sometimes we got dragged in to supporting them anyway. It was so bad that this is absolutely categorically not an option for C3.