So then I will split this patch into two or three, look couple of times more and send it.
It seemed like one logical change to me, I don't think it needs splitting. (Except for the change to FixupVTable which seems unrelated.)
How can I build a DLL to test this? The default managed c++ dll doesn't seem to include an entry point.