Was C# compiler written in C++?
There is a new (as of late 2011) C# and VB compiler written by Microsoft called Roslyn which is written in C# and VB.NET respectively. Project page is here. The Roslyn compiler is written as a library that exposes a rich public API. There is a news article here about it from InfoWorld.
UPDATE: As of April 3, 2014, Roslyn is open source under the Apache License 2.0.
Yes it was - as majority of CLR. If you want to see the internals of CLR and/or compilers I would strongly recommend Shared Source CLI from Microsoft (aka Rotor):
But, there is actually a compiler written in C#. I believe that Mono is written that way. Download Mono sources and find out for yourself.
The .NET framework was written in Simple Managed C (SMC)
History
During the development of the .NET Framework, the class libraries were originally written using a managed code compiler system called Simple Managed C (SMC).In January 1999, Anders Hejlsberg formed a team to build a new language at the time called Cool, which stood for "C-like Object Oriented Language".[16] Microsoft had considered keeping the name "Cool" as the final name of the language, but chose not to do so for trademark reasons. By the time the .NET project was publicly announced at the July 2000 Professional Developers Conference, the language had been renamed C#, and the class libraries and ASP.NET runtime had been ported to C#.
From: http://en.wikipedia.org/wiki/C_Sharp_%28programming_language%29
Yes.
The Mono C# compiler is written in C#.
Yes, but there are plans to write a C# compiler in C#, which I believe was discussed in this podcast.