Лицензия - это проблема, некомпактный GC - другая проблема, нет WPF, WF, Entity Framework, есть только базовый WCF, у MonoDevelop долгий путь к Eclipse / VS.Net, mod_mono не стабилен и не совершенен как tomcat / IIS, я не смог найти ни одного сайта с высоким трафиком, использующего его ... но, вы, вероятно, не столкнетесь с серьезной проблемой, если ваш проект не корпоративного уровня. C #, вероятно, лучший из когда-либо созданных языков, который быстро развивается. .NET Framework, на мой взгляд, намного лучше, чем jdk, и моно люди много работают, но, как я уже сказал, есть и другие проблемы; Другой выбор - Java. У Java есть зрелые / стойкие современные проекты, такие как Terracotta, Hibernate (перенесенный на .net), Ehcache, Compass, ... но некоторые люди говорят, что у Sun нет денег, а Java не развивается годами (как язык) так начал умирать, ...
Я думаю, что самая важная вещь - закончить работу, сделанную правильно и вовремя. Выберите технологию, которая вам больше всего нравится и нравится больше всего, и не тратьте свое время, оглядываясь назад. Это не будет проблемой, пока ваш проект не вырастет слишком сильно.
Приветствия