Mabey sombody could write a timer wrapper for it (that loads it again and refreshes the iconcache or somthing)
Would only have to go every 10 mins or somthing (I mean it's unlikely that you'll fill a drive up in that time (probablly could include a Tray Icon to force check when ever you want)!!
Or mabey they could shell hook onto the copy process and when it shuts down force a refresh!!
I haven't got time to do it by the way!
But your right (the code would be useful)!
 I just researched how to change the icon and it's only a matter of updating this key:
1. Create (if it does not already exist) the registry key:
HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ Windows\ CurrentVersion\ Explorer\ DriveIcons\ X\ DefaultIcon
where 'X' is the drive letter of the drive for which you wish to change the drive icon.
2. Change the key's default value to hold the fully qualified name of the icon file (e.g. 'c:\myicons\cdrive.ico').
If the file contains more than one icon then follow it with a comma and the zero-based index of the icon (e.g. 'c:\myicons\mylib.dll,2').
3. Refresh the window or just wait till the next time you open My Computer to see the Effects
Also I have a nice VB6 (small and easy) routine for this
(do you think the author would mind if I stole his icons tho, I aint no artist)
Let me know if anyone is serious that they need this tool and I'll make it after all (softey at heart)