This code will load the MapInfo.Application object into a listbox and display the sample US County data. It assumes your form has a listbox called listBox1 and a "using System.Reflection;". It also works in Vista!
string mapName = "C:\\Program Files\\MapInfo\\Professional\\DATA\\Map_Data\\Namerca\\USA\\Usa_Maps\\US_CNTY.TAB";
System.Type oType = System.Type.GetTypeFromProgID("MapInfo.Application");
object o = System.Activator.CreateInstance(oType);
oType.InvokeMember("do", BindingFlags.InvokeMethod, null, o, new object[] { "Set Application Window " + listBox1.Handle });
oType.InvokeMember("do", BindingFlags.InvokeMethod, null, o, new object[] { "Set Next Document Parent " + listBox1.Handle + " Style 1" });
oType.InvokeMember("do", BindingFlags.InvokeMethod, null, o, new object[] { "Open Table \"" + mapName + "\"" });
oType.InvokeMember("do", BindingFlags.InvokeMethod, null, o, new object[] { "Map From \"US_CNTY\"" });
It's a little more painful than VB's CreateObject, but it works.