Я думаю, что самое важное - правильно выбрать сервер. Сервер должен иметь адекватные модули. Apache был бы хорошим выбором, поскольку он поддерживает все, что вы хотите, включая mod_aspnet (который я не тестировал, но многие говорят, что он работает).
Если вы думаете, что интеграция с asp.net наверняка произойдет, я бы выбрал Windows в качестве ОС, поскольку это наверняка будет проще.
Вы также можете установить обратный прокси-сервер, который будет определять, какой сервер будет отображать контент на основе запроса - если пользователь запросит страницу aspx, прокси-сервер подключится к странице IIS и windoze, если запросит php, он может подключиться к другому серверу. Проблема этого подхода заключается в совместной памяти и состоянии, которые могут быть решены с помощью тщательного проектирования для поддержки этого - например, общая база данных, содержащая всю информацию о состоянии и данные модели ...
OpenID не имеет значения - есть библиотеки для любого фреймворка, который вы выберете.