Windows is not very good in managing icons.. I think I understand what's the problem. If you see a bit of squares on the border, the reason is for the error in resizing the alpha channel of the icon; as known, in Microsoft there's a few feeling with my poor Alpha-Chan (PNG's alpha is implemented in a decent way only on IE7). So, resizing your icon the system shows how poor is the .
For my experience (I don't have the source of Win, sorry I've no definitive solution to this except installing Linux), to avoiding the problem, you have to link to a icon with a size that is a integer multiple of the icon size yo chose in your theme (in Xp the way is Destop>Click dx>Propriety>Aspect>Advanced>Icon>Dimensions).
Or waiting till tomorrow, I'll try to assemblate an icon set, a dll or something similar.