Mono is execution engine just same as .NET Framework. Mono is not intended for instaling .NET applications but ratehr for the their development - an IDE.
Among other:
Unfortunately, MONO does not implement full CLI functionality, which puts the choice of MONO as a development platform in question.
Windows Forms are not fully implemented yet (unstable) – GTK# must be used instead.
Code Access Security is missing.
If used, namespaces common for .NET and MONO applications compiled under MONO can be executed against either .NET or MONO Frameworks (still working under Linux).
System.Data is also not fully ported, especially SQLClient used for communication with Microsoft SQL Server databases.
The support for debugging assemblies is very poor. Actually – for now – it is only limited to tracing. We have to wait for the next releases.
C# is fully supported by the MONO Framework. VB.NET is marked as unstable.