Чтобы .NET приложение работало под Mono, оно должно разрабатываться с учетом этого.
В частности, использовать для UI кроссплатформенный фреймворк. GTK# например.
WinForms оочень ограниченно поддерживаются Mono, а WPF вообще не поддерживается и не будет.
Версия .NET - чем ниже, тем лучше.
Новый сабмиттер будет требовать только 2.0
Старый требовал .NET 4.0 и использовал WPF со всеми вытекающими.
Ну и кроме того, проблемы могут возникнуть при использовании native code библиотек и внешних приложений.
Сейчас я веду разработку, сразу учитывая все эти факторы.
Единственные лишние телодвижения, которые надо будет сделать пользователю под *nix - установить самостоятельно exiftool, mono и gtk#, что делается в пару команд (установка софта из репозиториев) для основных Linux дистрибутивов или стандартной установкой пакетов в Mac OS X.
Правда, это приводит к тому, что и Windows пользователям придется отдельно установить gtk#, но это тоже тривиальная операция.