That said, Mono benchmarked about 4x slower on my web apps.
For me, better to use two Windows instances rather than deal with the ongoing Mono compatibility drama across 8 Linux machines.
Not that I blame them in the least. I've been a huge fan of Miguel for years, and they're doing great things in the mobile space. I just can't in good conscience invest heavily in Mono knowing that it's essentially at a dead end -- particularly when other much more attractive web technologies have been released since .NET's inception.
The reality is that Microsoft never really wanted to build a cross-platform CLR. They wanted a great Java-like runtime that only works on Windows. If that matches up with your goals, then by all means use .NET, but be prepared for a tough slog later on if you want to escape Windows.
They never got the full stack running on the server and they punted most of the Windows-specific client stuff from the start.
They landed on a super smart subset and seem to be kicking ass with it. A C# compiler with some odd omissions and cool enhancements + native bindings to iOS and Android equals a damn useful tool. If you're building .NET or even Java backends it's certainly a very sane way to hook into them from Android phones and tablets in the enterprise.
But it's not a cross-platform .NET environment by any stretch and certainly isn't on the path to becoming one.