1) http://en.wikipedia.org/wiki/Mono_(software)
2) Když děláš stavovou abstrakci na nestavovým protokolu, tak si to nějakej kód vyžádá. Předpokládám, že si v VS2005+ASP.NET nic nezkoušel.
http://msdn2.microsoft.com/en-us/library/ms972976.a spx
Dost silně pochybuju že samotné ovladače jsou psané pro .NET, protože IMHO jsou zapotřebí dřív než je dostupný CLR a JIT.