Thanks for all the suggestions!
After much trial and error the real problem here seems to be the Visual Studio 2008 Setup Project – manually setting up a link to my executable correctly uses the high resolution icon, however the link that is created by the setup doesn’t use the correct icon. When setting the icon for the link in the editor it only gives me one option (index 0) which seems to be the 48×48 icon. I have tried manually adjusting the IconIndex in the .vdproj but had no luck. It seems that Visual Studio Setup Project does not support adding a link using a high quality icon.
EDIT: I can now confirm this problem. Once I moved to WiX to create the installer the link used the correct high quality icon.