I have noticed that some GPL licenced API's have clauses say that you don't need to supply your own project source. So, I guess it comes down to read 'all' of the fine print (all 100 pages of it) to be sure.
GNU's version of the standard library does this. It's released under the GPL to ensure it's not possible to modify the library and release the changes under another license, but it has that exception clause so programs using the standard library are not forcefully turned into GPL (after all, it's the standard library, not a library that's explicitly known to be under the GPL by the programmer).
I imagine this is also used by add-on libraries (i.e. libraries that the program loads on the fly that extend it). You can't use the GPL on those libraries if the program is not GPL compatible. Adding an exception clause would work around that.
I also seem to recall something about the LGPL requireing that users can replace the LGPLed library with another version of it, including allowing people to reverse engineer your program to the extent required in order to update that library.
I wonder if one could abuse that to for example create a legal workaround for a DRM system.
If I recall correctly, Nvidia abused the LGPL to connect proprietary code with GPL code.
Note that the requirement you mentioned is simpler than you think. Merely being able to swap the DLL file with another one would be enough.
Don't pay much attention to "the hedgehog" in my nick, it's just because "Sik" was already taken =/ By the way, Sik is pronounced like seek, not like sick.