Costumava haver um programa chamado mlin.net chamado TraySaver há cerca de 10 anos que fazia exatamente isso "por meio de uma combinação insana de ganchos de shell e chamadas do sistema", não sei se ainda está por aí ou compatível com XP +.
A razão pela qual não é realmente possível apenas restaurar os ícones, é porque os ícones são exibidos por cada programa. Quando o explorer.exe falha, os ícones não são exibidos automaticamente, A MENOS QUE o programa tenha sido escrito para detectar falhas e reenviá-lo para a bandeja do sistema. A maioria dos bons programas tem esse código, mas não todos.