Возможно в этом дело. Там наверно инициализируется кусок памяти по умолчанию зануленный. Вы в него присваиваете, вызывается оператор присваивания на объекте который не был сконструирован (и у которого нет правильного указателя) но конструктора так и не было вызвано, а оператор присваивания не копирует vtable указатель.
ну там бьется либо из-за присваивания, либо из-за мапы. потому что если просто на стеке выделить TComponent, то виртуальная функция спокойно вызывается
Много где в реальных студиях сидит тимлид и говорит, что деды писали без 11-ых, поэтому у нас 11-ые, но давайте без auto, move constructor и вот этого всего.