there is one MMC Library sdk which is the only opensource project I know
it's from www.ironringsoftware.com ,
it lacks one small thing we encountered today, u can add nodes to the mmc tree but you can't delete.
behind the scenes it uses the IConsoleNameSpace2 interface.
which do support the remove feature . so if u'll add the following code to the BaseNode.cs:
IConsoleNameSpace2 cns = Snapin.ConsoleNameSpace;
u'll get a remove which removes all it's sub nodes too...