I support mono for my binary serialization tool, protobuf-net - and I'm surprised that most of the users are coming from the mono side (perhaps partly due to the lack of DataContractSerializer
in mono?). So I'd say it definitely has a viable user-base, but it adds pain: during this project I've reported multiple compiler bugs in the mono C# compiler; some have been fixed, and some I've just had to re-write my code with workarounds that are happy in all the different compilers.
So it adds a burden, too. You also have to avoid the "not implemented" traps in mono, which is a pain when the (older) alternative way is marked "obsolete" in MS .NET.
I would expect that burden to increase as you move away from the "core" .NET offering - so anything involving any of the UI implementations (including Web) is going to be different between vendors.