Why Opera is breaking the Web

Opera: We don't break the web.
Yes, you are. Some website will break because of your change. See the examples.
Opera: We are predictable.
No, you are not. It's not predictable if a rendering engine starts reading a property it was never ever supposed to read. Also you need to drop the -webkit- prefix some day. When will this happen? Again this is not predictable.
Opera: All we do is error recovery.
No, it's not. It's not error recovery if a rendering engine starts reading foreign properties it was never supposed to read.
Opera: Similar stuff was done before.
No, it wasn't. All of your examples are invalid for different reasons. Most examples are about error recovery while reading foreign CSS properties is not (see above). The IE box model never was a web standard while the vendor prefixes are part of a web standard.
Opera: We don't blame the developers.
But you do. You are supporting the bad developers. You are telling the good developers they wasted their time when they supported Opera.
Opera: This won't make your life more complicated.
Yes, it will. It changes the rules in an unpredictable way. It will break websites. We need to keep in mind which rendering engine reads which foreign vendor prefix. If we don't our CSS will act completely unpredictable. See the examples.
Opera: You are not supposed to use different values in the vendor prefixed properties.
This is my choice, not yours.
Opera: We need to fix broken websites.
In which way is a website “broken” because of a missing rounded corner, shadow or transition?
Opera: We can't use browser.js because it would be to big.
Why do you think you need to fix a billion websites? Why don't you fix the websites that are actually broken?
Opera: We can't make -o- higher priority because this will break the cascade mechanism.
Cascade is irrelevant. -webkit- was never supposed to be part of the cascade in the Opera rendering engine.
Expected behaviour: Rounded corders in all browsers except for old WebKit based browsers since current versions accept border-radius.
-webkit-border-radius: 0;
border-radius: 1em;
Expected behaviour: Rounded corders in Opera (in all current and future versions) and rectangular corners in WebKit based browsers (in all versions since they still read the prefixed property). Changed behaviour (I call this “broken”) in the current Labs build: Rectangular corners in Opera.
border-radius: 1em;
-webkit-border-radius: 0;
-o-border-radius: 1em;
Expected behaviour: Green background in Opera and red background in WebKit based browsers.
background: -webkit-linear-gradient(#CCC, red);
background: -o-linear-gradient(#CCC, green);
background: linear-gradient(#CCC, green);
Expected behaviour: Same as above, green background in Opera and red background in WebKit based browsers. Changed behaviour (I call this “broken”) in the current Labs build: Red background in Opera.
background: linear-gradient(#CCC, green);
background: -webkit-linear-gradient(#CCC, red);
background: -o-linear-gradient(#CCC, green);