По беспределу. Конструкции более сложные, больше ресурсов едят.
По идее, должна создаваться таблица виртуальных методов. Опять же, могут быть проблемы при отладке кода. Как-то писал макрос, так столкнулся с такой фигней - если создать брекпоинт, в Watches добавить классовую переменную, то при остановке Корел зависал и вылетал. Если переменную не добавлять, то всё работало.
Но надо отдать должное, есть в классах и плюсы. Например, при выборочной сортировке по ряду параметров (длина, ширина, цвет заливки, цвет обводки, позиция и пр.) можно не использовать ветвление с выбором нужного свойства, а использовать тот же CallByName.