Нужно не путать библиотеки и модули. Есть собственно программа,
состоящая из дерева модулей и есть используемые библиотеки. Если
заказчику понадобилась хоть немного иная программа - дерево модулей
копируется в отдельный, новый проект. А библиотеки - нет. Отдельная головная боль - периодически новые версии библиотек требуют изменения в проектах.
Стараемся держать ВСЮ кодовую базу готовой к использованию с актуальными версиями библиотек.
Это весьма накладно. Благо, пока, нужно было лишь один раз.
Как я уже сказал ранее, во многих случаях новая программа это набор уже отлаженных модулей + уникальных для данного проекта bsp (привязка прикладных модулей к железу, друг к другу и, если имеется, к операционке)
Изменение в модулях - только с полной, протестированной обратной совместимостью.
Примерно 10% модулей имеются в нескольких, невзаимозаменяемых версиях. Для нас это разные модули.