> Doesn't MSIE8 have a MSIE7 compatability mode that basically runs the IE7 rendering engine in a wrapper
Of course not, that was obviously the right way to implement this so they had to do something worse first. IE7 compatibility mode works plausibly well for visual display but as eonwe's link pointed out there are still some key differences.
That link, however, doesn't really mention the worst part: IE8-as-IE7 does not have a compatible DOM or JavaScript engine. They're using the IE8 JS engine under the hood which is generally better but, among other things, it started raising exceptions for previously ignored bad code. I found out about this shortly after IE8 was released when my then-employer's Oracle apps stopped working because they used a really old version of a UI toolkit which at one point set zIndex to null before assigning it a new value. This is clearly invalid according to the specs but prior to IE8 it appears that nothing threw an exception. I ended up patching the JS file because getting a patch would have taken aeons and Oracle support actually called me asking if they could redistribute my work to other customers!
The good news is that Microsoft finally came up with the right way way to do this in MED-V, which will seem very familiar to anyone who's used e.g. VMware Fusion: you run antique versions of IE seamlessly inside a VM and the host's Internet Explorer can be configured to load certain sites inside the guest so you only take the performance / feature / security hit for your legacy enterprise apps instead of the entire web:
Yes, given that I'd already released the code on a couple of customer lists but it was tempting to ask for a license fee, particularly given the arrogant first-line support we'd had to slog through to report the bug. “We don't do Microsoft's beta-testing for them. We'll start testing after IE8's released” – a week after the release
Wow... that really assumes a lot on their part to have that attitude. Like... MS will give a rat's ass about how some crappy Oracle app will work in their latest browsers. Or that anyone will take Oracle's response of "report this bug to MS" six months later as useful. But... this is probably the same attitude other big vendors have about Oracle's stuff too.
Shouldn't at some point the cost of all websites in the world being broken on your corporate machines be a bigger problem than having to do some work on some antiquated LOB app you've considered rewriting anyway the last 5 years?
Do these weirdo F500 still demand railroads to operate steam-trains for them, since that was the last thing they read about last time they received a telegram?
In what world do these people live where perpetually staying in the past is not a problem?
Having worked in a large bank, I can maybe shed some light on it. It's all about balancing benefits, risk, cost and opportunity cost. Large corporates typically have budgets for projects/investments and for Business as Usual (BAU). BAU budgets aren't a good place for a big infrastructure change because of all the dependencies that may or may not exist - you simply don't know until you do the project to get it done.
As budgets are scarce and ideas for projects are typically plentiful, someone somewhere has got to come up with a business case for each project and unless the cost benefits of doing it are significantly great then it ain't going to get done - there are going to be better investments for that org. It ain't the techies who are in charge in corporates, they need to do the stuff that the business wants done.
The other lens of corporate IT is that they are typically risk averse and want changes to be controlled. IT folks do not change if they can help it - because sometime upgrading something broke something else or maybe they'd rather to do something more interesting.