@Dameon: Really? The first link off google (the codeproject one) shows a similar problem with changing the icons and shows the exact call needed to get the icon cache to be refreshed.
::SendMessage(HWND_BROADCAST ,
WM_SETTINGCHANGE,SPI_SETNONCLIENTMETRICS,NULL);
I suspect that there is a better SPI_ value for icon changing, but this one (suposedly) does the trick.