Мы можем несколько раз заново собирать компоненты внося изменения или расширяя функциональность. Как будет вести себя компонент при генерации новой DLL зависит от установок проекта, которые Вы можете найти зайдя в меню Project properties и выбрав вкладку Component:
No Compatibility - каждый раз генерируется совершенно новая версия DLL в плане CLSID и IID, а также библиотека типов. Как вывод отсюда - данным компонентом может пользоваться клиент и ни какой модернизации этот компонент дальше не подвергается, иначе придется собирать заново клиента. При этом даже нет возможности исправить ошибку, так как в проверочном проекте придется заново обновлять ссылки.
Project Compatibility - данная совместимость удобна при создании и тестировании компонента. Cовместимость поддерживается на уровне проекта. То есть нет необходимости постоянно обновлять ссылки на проект с COM.
Binary Compatibility - позволяет безболезненно править проект. CLSID и IID не меняется, поэтому ссылки обновлять не надо. Но есть одно но. Все это до тех пор пока Вы не захотите удалить методы или поменять в нем параметры. Вот тут-то вся совместимость и закончится. Но зато в данном варианте не нужно собирать клиента заново. Допустим вы обнаружили ошибку в методе DLL, и решили ее исправить. Применение подобной совместимости приведет к тому, что клиент спокойно продолжит работу с обновленной компонентой.