DLLs and backward comptability and mixing with static lib

There are a number of programmers on this board, so I figure I give this question a shot. I am using QT 4.5 (shared) library, and have two external libraries built on it - QWT and QTPropertyBrowser.

If I upgrade to a newer version of QT (complied as dll), do I need to recompile the QWT and QTPropertyBrowser? If so, what’s the point of dynamic linking in this case, as it is supposed to cut down re-compiling?

If I have a project complied with which links to, say, QT 4.5 and I slip in the dlls for QT 4.6, would the project still work (run from runtime, not a rebuild). Likewise, I understand no recompiling is necessary for this is how modern video card drivers/game updates work. Am I wrong?

Let say my main library QT 4.6 is a static library, and I include the two DLLs (QWT and QTPropertyBrowser) which is built off QT 4.5, will it work?

It depends on whether the interface has changed. If the upgrade only affected the implementation, not the prototypes of the functions that are referenced, then it should work, if not you will get errors.