Чтобы ответить на первую часть вопроса - ни в одной операционной системе не установлена предустановленная версия .NET 2.0, но в последних версиях Windows установлены .NET 3 или 3.5 и могут выполняться исполняемые файлы на основе .NET 2.0.
Что касается распространения вашего продукта, как правило, я всегда обнаруживал, что это хорошая идея - упаковать соответствующий .NET, распространяемый вместе с вашим приложением. Когда вы попадаете на сайт клиента, это может быть не так просто: