Вообще, теоретически, в ББ МОЖНО сделать на уровне фреймворка горячую замену кода. Действительно можно. Нужно добавить "команду" Update (unload & load), которая будет выполняться атомарно (благо многозадачности в ББ нет, так что и с этим проблем нет). В процессе такого update выполняем:
1) выгрузку старой версии модуля.
2) поиск всех оставшихся объектов в памяти за которые ответственен данный модуль
3) загрузка новой версии модуля
4) передача всех найденных объектов специальной функции конвертации новой версии модуля (в том числе указателей на функции!) в качестве VAR-параметров. Пусть конвертирует да меняет.
Все четыре пункта должны идти непрерывно и атомарно (то есть message loop не крутится).