Tried system restore and
rebuilding icon cache ?
If yes ans its still happening, Browse to the following locations:
HKEY_CLASSES_ROOT\lnkfile\shellex\IconHandler & HKEY_CLASSES_ROOT\piffile\shellex\IconHandler
Make sure they're not value-less (ie on the right side there should be someting called 'Default' with some alphanumeric data in it. IF they're not, then open notepad, copy the text in the code box below and save it as IconFix.reg, in the save as type field, make sure you select 'All files'. Double click it and select yes when prompted. Reboot.
Code:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\piffile\shellex\IconHandler]
"Default"="{00021401-0000-0000-C000-000000000046}"
[HKEY_CLASSES_ROOT\lnkfile\shellex\IconHandler]
"Default"="{00021401-0000-0000-C000-000000000046}"