Как сделать программу написанную на C++\CLR чтобы она работала, как обычное приложение, без глюков?
Если программу скомпилировать как х64, то она не будет работать на х86. Если программу скомпилировать как х32 или как AnyCPU, то по логике она запустится и на х64 и на х32, с разными компромиссами по быстродействию.
Есть еще нюансы. 
Не используйте абсолютные пути для хранения данных программы. Пользуйтесь помощью .NET, который вам даст и папку для временных фалов, и папку для хранения данных приложения, и текущую папку, и папку текущего пользователя, и много другого.
Не пользуйтесь реестром для хранения настроек программы, если это возможно. В разных системах и в зависимости от разрядности системы и приложения приложению могут соответствовать разные ветки в реестре. Чтобы не разгребать эту логику, храните настройки программы в конфигурационных файлах, хранящихся в папке хранения данных приложения. 
Не используйте папку, в которую установлена программа в ProgramFiles, для хранения данных. В целях безопасности доступ к этой папке по умолчанию ограничен начиная с семерки. Если вы разрешили это делать у себя, то это не значит, что это можно будет сделать у пользователя.
И самое главное: тестируйте, тестируйте, тестируйте везде, где бы вы хотели, чтобы ваша программа работала.
Проверьте наличия .Net нужной версии в ОС, на которой запускаете приложение.
Или приложение можно собрать под нужную версию .Net.