In der Registry findest du z.B.:
HKEY_CLASSES_ROOT \ .zip \ (Standard) = "WinZip"
Damit suchst du weiter
HKEY_CLASSES_ROOT \ WinZip \ DefaultIcon = "C:\PROGRA~1\WINZIP\winzip32.exe,2"
Dieser String bezeichnet die Exe-Datei (könnte aber auch eine
DLL oder eine ICO-Datei selbst sein) und den
Index, also mit "2" das zweite Icon in der Datei.
Hierbei wird ein Problem sein, dass du bei Delphi die Reihenfolge der Icons nicht so ohne weiteres festlegen kannst. Du weist also am besten dem Dateityp einmal per Explorer das neue Icon aus deiner EXE-Datei zu und kopierst dir dann die Einträge aus der Registry.