В процессе работы столкнулся с данной "проблемой", часто бывает так, что вношу модификации в работающую реализацию. А затем по привычке выгружаю эту реализацию вместе с модулем. И получаю закономерный трэп. Это проблема этапа разработки.
Похожая ситуация происходит при закрытии ББ. Модули реализаций выгружаются и клиентский код уже не может корректно выполнить свои завершающие действия (ведь ему все еще нужна реализация). Такая проблема уже может возникнуть в боевом режиме, и будет очень неприятно.
Решений, как всегда несколько:

Реализовать корректную обработку выгрузки в клиентском коде. Идеальный случай. В реальности получается перекладывание ответственности на клиента. Приходится часто делать проверку указателя## Код:
```
PROCEDURE Valid(a: ANYPTR): BOOLEAN;
      VAR i: Meta.Item;
   BEGIN
      Meta.GetItem(a, i);
   RETURN i.Valid();
   END Valid;
```
Вручную создавать специальный модуль, импортирующий реализации (как HostMenus). Работает только для подконтрольных реализаций, и не спасает от второго случая.Реализовать механизм выгрузки, который бы не позволял без подтверждения выгрузить модули, у которых есть объекты, заякоренные в других модулях. В идеальном случае - дожидаться ситуации при выгрузке модулей, при которой на объекты модуля точно нет внешних ссылок. Но возникает ситуация перекрестных ссылок на объекты модулей, тогда непонятно, как выполнять выгрузку.Слабые ссылки, которые предполагают отсутствие гарантии получения объекта, и не якорят чужие объекты. Пример реализации слабых ссылок для ББ вypkSysRef.В случае фабрик можно отказаться от передачи указателя вовне, использовать шину сообщений, например, или поиск по метаинформации. То есть, объект фабрики хранится внутри модуля реализации, и передается клиентам по запросу. Проблема может возникнуть при появлении второй реализации с таким же объектом.Не усложнять и перезапускать ББ целиком каждый раз.Такая вот проблема.