IE 8 appears to have implement the "zoom" CSS attribute completely differently than IE 7.
Here is a quick example:
<style>
.outer { position: relative; width: 500px; height: 500px; }
.inner { position: absolute; width: 250px; height: 500px; font-size: 50px; }
.one { top: 0; left: 0; }
.two { top: 0; left: 250px; }
</style>
<div class="outer">
<div class="inner one">one</div>
<div class="inner two">two</div>
</div>
This ideally would show 2 divs that are side by side - each 500px wide and they do not overlap eachother.
In IE 7 the "two" div is what you would expect - and this works in general with many different things - everything inside the "outer" div is scaled up to a scale of 2x just like you would expect.
But in IE 8 this is not the case - the "two" div is still only 250px from the left; it appears only the text inside the "two" div scaled up - nothing else really gets scaled (such as the position context of every child element!!!).
Things start overlapping horribly wrong in IE 8, so I actually am forced to have a tag like this
<meta http-equiv="X-UA-Compatible" content="IE=7" />
That way IE 8 will render like IE 7, making the benefits of IE 8 moot - so now everything on the page must work with IE 7's crappy layout engine (not like IE 8 is so much better here, but at least there are some better things in IE 8 layout engine).
Oh and guess what - even now (July 2013) the stats for our site indicate that over 90% of our users primarily use IE 8 - so, yea... making new features that only work for less than 10% of your customers is not an option (many of whom do not even have the administrative rights to install anything new because these are enterprise customers using PCs in an office).
Edit To be clear: It is clear that the implementation of Zoom changed in IE 8 - my question is why did IE 8 change this behavior when clearly it has made things so much worse.
I can give other examples of functionality that is plainly impossible with IE 8, but with IE 7 it is easy to accomplish with css zoom - so that is clear evidence that IE 8's implementation of zoom is just plain wrong - so why did they do it?