Вообще для приложения созданного на С++ .NET не требуется. Разве что вы специально включили поддержку CLR в проекте и подключили какие-то сборки из .NET Framework.
Хотя по поводу экспресс версии не уверен.
Есть еще вариант сделать инсталятор который в случае необходимости установит на компьютер пользователя недостающие компоненты. Тогда условие переносимости выполняется даже при наличии зависимости от .NET.
Ну и по поводу не пиратского варианта и MFC. Если вы студентка, или у вас есть друзья студенты у которых есть ISIC то вы можете зарегистрироваться в программе DreamSpark и получить абсолютно легально Visual Studio Professional и много чего еще.
Надеюсь что смог вам помочь.