My own experience has been less-then-stellar.
The IDE: MonoDevelop is a decent tool, but it is not ready for hard-core development when you roll debugging into the mix. It's unfair to compare it to VS2008, but MonoDevelop just feels like a generation (or two) behind. As soon as debugging with breakpoints is rolled in to the mix and processes can be attached, it will feel like a stronger IDE. Debugging in OS X is behind Linux in certain aspects, but the team continues to rev the code on almost a weekly basis, so my comments can be stale rather quickly.
ASP.Net development: I haven't looked at this in a while, but support has been lacking until recently. I see comments that relate to support for ASP.Net MVC, but haven't tried them myself. The last time I looked at asp.net support, I was developing in Ubuntu, so your mileage may vary.
Platforms: Windows seems to have the best experience, then Linux, then OSX. However, I don't find Windows development on Mono so much better than Linux and/or OSX.
One of the biggest differences I've found is the progression of the framework and the distance from the Mono team. The Mono development cycle has always had to play catch-up, but the project hasn't seemed more disparate in terms of BCL conversion than the latest version of the framework. It's not huge, but the little differences start to make themselves apparent. You don't realize how much you use certain things until they aren't there.
Nonetheless, I'm a huge proponent of seeing robust Mono support on other platforms, including OSX for development and Linux for deployment. Hopefully the team will continue to refine their tools and bring the development experience to an A-grade level.