На чем писать кроссплатформенное GUI приложение?
Да, C++ на порядок сложнее по сравнению Java и С#, хотя Qt многое упрощает.
Для кроссплатформенных офисных приложений хороша Java, - GUI на JavaFX или Swing, но не SWT (в нем много косяков, которые отнимают много времени). Если лучше знаешь C#, то на нем (язык посовременнее,  фреймворк попроще будет) и сразу в MonoDevelop (так-как нужна кроссплатформенность).  
С серверной частью (если трехзвенка) важно определиться на чем она должна работать (в какой ОС). Если тоже кроссплатформенная, то лучше все на java делать и разобраться с серверными технологиями Java: Spring или Servlet-контейнер или даже сервер Java EE. Использовать ORM (Hibernate, например). Но с этим стеком Java придется повозиться, - порог вхождения высокий, зато потом открываются богатые возможности (независимые от ОС! ).
На питоне пиши. А графический интерфейс на Qt или GTK - смотря какие виджеты нужны.