Во-первых, mono требует перекомпиляции, а во-вторых, это сильно урезанный .NET, в котором многие классы и работают-то по-другому. Это костыль, который никогда не станет полноценным. И проекты такого уровня сложности практически никогда под ним нормально не заработают.
Вообще смысла портации не вижу, т.к. проект целиком завязан на виндовые технологии (и директ, и .net .... всё полностью) Портировать - это переписать всё заново на другой платформе. Ради удовлетворения упёртых линуксоводов? Которых 1-2 и обчёлся?