Looks like the *.aif file is beeing created under %EPOCROOT%Epoc32\Data\z\system\apps\<projectname>\ instead of %EPOCROOT%Epoc32\release\winscw\udeb\z\system\apps\<projectname>\ This explains the emulator displaying the "wrong" icon but it does not explain why the icon is missing on device since it is your job to put it there by specifying the correct source/destination for it in the *.pkg file.
Solution1: copy the file in the right place.
Solution2: play a bit with Carbide and teach it the right target pathright-click on the .aifdef file -> Properties -> C/C++ Build -> Aif Compiler -> General options -> Target path = ..\..\release\winscw\udeb\z\system\apps\<projectname>
Solution3: indentify the import script error and correct it so that the import generates correct WINSCW settings