А вот когда cpp изменился, то значительно хуже...
Вот-вот.
Да и заголовочники библиотеки (кроме явно экспортируемых) в вызывающую программу тащить как-то неряшливо. Ну их хотя бы в pri можно затащить.
Тоже сталкивался с аналогичной проблемой со статическими библиотеками.
Вообще, можно поэкспериментировать со всякими PRE_... и POST_TARGETDEPS. В этом случае вроде бы как использующая программа должна понимать, что либа изменилась.