I'll post this here in case someone from the IE team reads it (fat chance!)
IE has a bug. OK, well, we knew that. The specific bug in this case is that once the cache gets full (i.e. Temporary Internet Files hits the maximum configured size), IE (6.0, SP1, all platforms AFAICT) corrupts its own index.dat file. Symptoms include red Xs appearing where there should be images, style sheets not being applied, downloaded files failing to open, etc. The only solution I've found is to clear the cache - which seems to take a time proportional to the age of the universe.
So my dilemma is: do I have a large cache, which gets corrupted less often, but takes longer to clean, or do I have a small cache, which gets corrupted more often, but cleans up quicker?
I wonder if it's possible to clear Temporary Internet Files programmatically?