Я не думаю, что кто-либо за пределами Microsoft может правильно ответить на ваш вопрос в данный момент.
Самая вопиющая ошибка в статье, которую вы связали, заключается в предположении, что WinRT несовместим с .NET. Это неверно WinRT - это API, который доступен из собственного кода, управляемого кода .NET и из JavaScript.
Стоит отметить, что приложения HTML5 / JS, созданные для Metro, не будут автоматически работать в Интернете и наоборот. (Где «Интернет» включает в себя браузерные приложения для других платформ).
В основном: вы можете использовать свой язык и выбранную модель кодирования и повторно использовать большую часть своего кода "бизнес-логики". Но вам придется заново реализовать большую часть вашего интерфейса и других вещей, специфичных для платформы.
Это в значительной степени то, что вы ожидаете при переходе между платформами.
По сути, это тот же самый переход, переходите ли вы от HTML5 / JS для Интернета к HTML5 / JS для Metro или от C # / XAML для Silverlight к C # / XAML для Metro.
Наконец, вот гораздо лучшая статья , в которой говорится о функциях и ограничениях WinRT.
И просто немного поговорим о XNA:
XNA - это совершенно отдельный API для Silverlight. Первоначально на WP7 они были абсолютно несовместимы. Хотя теперь вы можете смешивать код и делить поверхности рендеринга между ними. А в Silverlight 5 (для настольных ПК) есть API-интерфейс 3D-рендеринга, который имеет тот же интерфейс, что и XNA (но на самом деле не XNA).
XNA не поддерживается Metro, потому что Metro применяет изолированную программную среду, ограничивающую вас WinRT API. (Принимая во внимание, что XNA построен поверх DirectX 9 и различных других API.)