These are known as Favicons. They're stored in your Temporary Internet Files, and when its flushed from the cache, its gone, so there is no way for the shell to reference it. The same happens if you have your Internet Options set to clear the TIF when you close the browser.
From
http://www.kellys-korner-xp.com/xp_f.htm
Favorite Icons are Missing
Custom icons are lost when you clean your cache. These are known as favicons.ico (Favorite Icons) and they
normally will only last until your Internet Explorer Temp files are cleared.
This program will allow you to save the favicons.ico (Favorite Icons) permanently in a different folder and re-associate
your favorites with the stored icons.
FavOrg - Restore and Save Favorite Icons (Line 108)
http://www.kellys-korner-xp.com/xp_tweaks.htm
FavesToGo - Save Favorites Quickly (Line 108)
http://www.kellys-korner-xp.com/xp_tweaks.htm
Workaround:
Create a folder called Icon Selection. Move all of the renamed favicons to this folder placed in the root directory of
C. Right click on the Icon, select Browse and navigate to your Icon Selection folder. Choose the renamed favicon and
click ok. These icons will be permanent.
When you right click on an icon, select browse and navigate to the Icon Selection folder. Choose the renamed favicon
you want and click ok. Your customized icons will be permanent.