La modification automatique des ressources dans une dll est un sujet délicat. D'après mon expérience personnelle, Windows est assez sensible et une erreur est bien vite arrivée.
Je crois que ça ne gène pas que les icones que tu remplace n'aient pas les mêmes résolutions que les originales. Par contre Windows n'aime pas que tu retire des icones.
Tu peux te référer à ce
tuto pour de la custo avancée.