Первые наброски показали, что реализация на основе БД решает кучу задач сразу:
1) с базой возможно работать не только через dll, собственно менеджер, но и напрямую чрез бд.
2) проблема со счетчиком ссылок на юниты превратилась всего в одну строку запроса:
update files set links = links + 1 where filename = 'file'[/code]
3) задача отлова изменившихся элементов и установленных из вне так же решается добавлением дополнительных полей
4) отследить уставновку компонента с таким же точно именем тоже возможно всего одной строкой запроса.