Getting my app to run was the hard part, not the Mono libraries itself. Even on OS X, it was pretty straightforward to get the libraries on there.
But once you started needed ASP.NET MVC, specific database drivers and setup, it become non trivial quickly, especially since stuff isn't as well documented as most other mainstream open source techs...
Edit: Also, to try and help our transition to running on Linux easier, we even integrated ServiceStack for a lot of the database drivers into the app. (Note: ServiceStack is one seriously great library if you are working in .NET-land)
Edit: Adding, that if I'm going to go through all this trouble to have a sub-set, and not-up-to-date version of the .NET framework and it's ecosystem to run as open source, I'd rather just use Java, and it's full ecosystem and be done with it.
Also, using MonoDevelop on my Mac was very uninspiring.
What's painful about 'apt-get install mono-runtime mono-mcs'? (or your distro's equivalent)
Its main target platform is/was Linux.