This page explains about the four different mono compilers - mcs/gmcs/smcs/dmcs.
To me, it's a little bit weird to have four C# compilers. As normally the newer version of compiler maintains backward compatibility.
I assume that's because of runtime support issues, but Microsoft's C# has one csc.exe that supports all of the runtime versions.