AFAIK, WinPhone7 будет поддерживать только XNA, то есть подмножество CF библиотек классов .NET, плюс API-интерфейсы графики / аудио / ввода / etc XNA.
Tao и OpenTK являются привязками к OpenGL и т. Д. Они могут использоваться в .NET или Mono, но только на платформах, где существует OpenGL и т. Д. OpenTK - это, по сути, более приятная версия Tao - вы бы не использовали обе.
Ключ к переносимости заключается в том, чтобы поступать так же, как это делают все движки больших игр, - абстрагировать аудио и видео рендеры и систему ввода. Этот объект рендера возьмет ваш граф сцены и отобразит его на экране с помощью API платформы. Так что на WinPhone и Xbox вы можете использовать XnaRenderer; в Windows вы можете использовать XnaRenderer, OpenTKRenderer или DirectXRenderer; в Linux, Mac, iPhone (через MonoTouch), Android (через MonoDroid) вы можете использовать OpenTkRenderer.
Возможно, вы захотите взглянуть на графический движок C # Axiom3d с открытым исходным кодом, который уже делает это.