Единственное, что я могу видеть, это убедиться, что вы достаете дескриптор, который вы вставили через конструктор. Я знаю, что очевидно, что вы реализовали это таким образом, но тест заверил бы вас, что он останется таким. Я бы проверил это только потому, что вы вводите его через конструктор. Если бы это было просто {получить; задавать; } Я бы, наверное, не стал.
[TestMethod]
public void ConstructorTest()
{
IntPtr handle = new IntPtr(100);
MapinfoWindowHandle winHandle = new MapinfoWindowHandle(handle);
Assert.AreEqual( handle, ((IWin32Window)winHandle).Handle );
}