I definitely respect a fellow frontend developer, but your points don't really support using css hacks.

1) You shouldn't have duplicate copies of your stylesheet in multiple files. You have your core stylesheet(s) that have rules for all browsers. The only rules that should exist in your ie.css are the ones that specifically need to be over-ridden for IE to fix specific bugs. This obviates the need to have server-side scripts doing concat-magic, beyond minification on all stylesheets.

2) In general, I normally only have my style.css(served to all browsers) and one ie.css(served via conditional comments to any version of IE <= 7. 95% of the time, if something is broken in IE7, its also broken in IE6 and is fixed there. Very rare is the time that something that breaks in IE6 but not IE7 can't be fixed by stepping back and redesigning the structure slightly to obviate the perceived rendering bug completely. In the rare 5% of the time that IE6 and IE7 are both broken, but in different ways, and I can't conceive of a different way to eliminate the bug all together, then I will simply add another conditional stylesheet only for IE6. I think in the last 3 years, I've probably only had to do this 2-3 times. Its such an edge case, its simply not a problem in my day-to-day work.

3) The browser share at my last company(3-4 million visitors monthly) was 25% Firefox, 70% IE(24% IE6, 75% IE7, 1% IE8 beta), and 5% all others(Safari, Chrome, Opera). 30% of all our visitors would receive 1 stylesheet. Slightly less than 70% would get 2 stylesheets. However, while the general style.css could be any size depending on a site's needs, the IE-specific stylesheet was never larger than a few dozen css rules at most. aka, it was a tiny, tiny file usually less than 1k-3k. This is a minimum load for even an older browser like IE6 to handle.

4) In looking through http://yahoo.com, there are no stylesheet <link>'s in the page structure. There is a ton of inline javascript and css though. By examining via Firebug, I see one <link> tag for a stylesheet. I'm concluding that it is being loaded into the DOM via js instead of being hardcoded. What I am also seeing is that since the css is being loaded inline, even though I'm on Firefox I am still getting the CSS hacks like underline, star, and alphaimageloader filters. Yes, these are ignored by my browser but I shouldn't being receiving them in the first place. Additionally, since the CSS is not being located in its own file(s), additional weight is being added to the page on every single page view. If the styles were being loaded, then they would be cached by my browser and I would not need to re-load that data again on subsequent pageviews.

There is always a valid point about extra objects in a page and the Yahoo homepage makes very few external requests(4 js files and 12 css background images). Its a highly-performant page. But in the interest of optimizing a site for everyone instead of the majority, putting stylesheets into separate files and using conditional comments does not put enormous extra load onto browsers. Even better, it gives me the page performance I want in my browser while giving the best performance possible for the users who(for whatever reason) are still using IE6.