From what i know a .NET app is half the speed of a win32 native executable, i don't know about MONO but this is reason enough to stay away from it, also many goodies like powerful(real) pointers for all kinds of things and ASM are not available in .NET, "putting all your eggs in one basket is dangerous" that is depending on such a restricted technology as .NET is not wise.
Please correct me if i'm wrong ...