I don't think MSVC is silly (though I truly was being sarcastic when writing 'infinite wisdom'). Their debug libraries have helped me a lot in the past, and still do. I'm all for debug code, and I also have a lot of it within AngelScript to catch errors that are otherwise hard to track down.
It is a bit unfortunate that the debug code in MSVC's string, prevents the memcpy/memmove of the object, as there is otherwise no other reason why you shouldn't be able to move the memory as long as you know that no outside references to the object is still looking at the old address. But I can definitely see that other types of objects have a need for this back-reference, so the problem would likely have cropped up eventually anyway.
Thanks for letting me know about Modfusion. I've added it to the user list now.