Проблема полностью решается следующим способом:
Иконку приложения устанавливаем как обычно (через .rc файл)
А чтобы в заголовке окна и при переключении по Alt-Tab были нормальные изображения подгружаем картинки из отдельных файлов (а не из одного .ico):
ico = new QIcon();
ico->addFile(":/img/appicon16", QSize(16, 16));
ico->addFile(":/img/appicon32", QSize(32, 32));
setWindowIcon(*ico);
(appicon16 и 32 - алиасы .png файлов из .qrc)
P.S. Должно быть можно извлечь 16х16 и 32х32 картинки из иконки в ресурсах программы, но я не заморачивался, дополнительный вес екзешника в 4Kb не отягащает