Specifically, the map marker icons (you know, the little red teardrops) were not rendering properly. Here's how they looked in IE7 and Firefox:
and here's how they looked in IE6:
Yuck! Now, it's a well-known fact that IE6 can't render PNG files properly (specifically if they have any transparency to them, which these icons do). However, the Google Maps API is aware of this and employs the AlphaImageLoader filter to compensate. Go to http://maps.google.com/ on IE6 and the icons look just fine.
So why were my icons turning out so crumby?
Except for one difference. Like I said, I was using custom icons. Just about all of my custom icons were the same shape; they really only differed in color, which meant the only real difference was the GIcon.image property (all the other properties were pretty much identical). In my inifinite wisdome I thought it would be clever to consolidate all of the other image URL properties associated with each GIcon (shadow, transparent, etc) and I would do this by storing those images as embedded resources within my assembly and referencing them via WebResource.axd.
icon.shadow = "my-shadow.png";it looked like this:
This took me a fair amount of effort to solve. Hopefully, I'll save someone else the time.