I've been playing with this as I did not like having lots of .ico files sitting around in my script directory. I found that you can create a .icl file from Microangelo 5.5. If you ten rename the file with the extension of .exe the icons can be retrieved using:

$ObjName.Icon="$Location\icnlib.exe;7"

Note:
I could not get this going by renaming as a .dll file but have to admit not much effort was put into this.