Muy bueno Raul esta piola, no lo testie mucho pero parece andar todo bien, el tema del icono no utiliza imagelist no probe si es lo mismo pero asi esta mas facil, para ahorrarte el parametro de si es un icono o un bitmap podes utilizar el api GetObjectType si es = 7 es un bitmap , y si utilizas bitmap 32 bits Alpha muestra la transparencia.
Saludos.