Основным преимуществом использования Java является более широкая установленная база. Если вы используете Java, вы достигнете на порядок больше телефонов, чем если бы вы использовали .NET.
Насколько я знаю, .NET работает исключительно с телефонами Windows Mobile.
С другой стороны, Mobile .NET проще, чем Java (IMHO), и это отчасти связано с Visual Studio IDE, которая делает жизнь намного проще, чем любая другая среда разработки в мире Java. Например, создавать приложения на основе форм в .NET mobile очень просто и просто.
Итак, ответ будет в основном зависеть от того, чего вы пытаетесь достичь:
- Попытка охватить наибольшее количество мобильных устройств: переходите на Java
- Попытка разработать приложение для устройств Windows Mobile: перейдите на .NET
- Попытка разработать приложение, которое будет работать только в контролируемой среде (единый бизнес), в которой вы сможете решить, на каких устройствах оно будет работать: решить, какое устройство вы собираетесь использовать, а затем выбрать среду разработки.
Имейте в виду, что если вы говорите о Java для Android или разработке Blackberry, вы столкнетесь с той же проблемой, что и с огромной установленной базой, которой вы пользуетесь .NET. Если вам нужна огромная установленная база, используйте Java Mobile Edition.