Random third party builds are not relevant, let alone major version differences.
I think that LGPL 2.1 protects used library in a way that whatever software is linked to that library, anyone experiencing problems should be allowed to debug and try to improve linking.
Yeah, but that debugging is for the LGPLed work, iow the library, for which you must provide the source for on demand. Nobody has said it is debugging from within your library.
Note that you can charge a $50 or more nominal fee for the providing of the source, so usually a URL or a pointer is enough. (and if not, they pay for the privilege)
That right is protected whether by allowing improving of linked application interface or by improving library it self.
Only for bugfixing. You don't have to allow the interface of the library to change. Getting that right is on the user.
Such need usually happens when there is a new version of the library, or when some bug is found. Whatever the correct interpretation is, LGPL 2.1 is not good for use case when I want to keep my sources closed. If RTL and LCL didn't have linking exception license, I would personally have stayed away from Lazarus.
This is overly panicky. Just make sure you keep the source of LGPL libs you distribute. (if you link to OS provide LGPL libs, referencing them should be enough). If not you can charge $50 to dl the sources of a linux distro.
The only problem I see is the many shaky 3rd party builds for OSS libs on Windows. These are less easy to track the exact source of, and many people distribute the DLLs without doing so. But that goes for postgresql as much as any third party sourcecode.
For
Pascal code there is the problem that currently if you put something in a DLL, you must communicate with that code in a much more lowlevel manner. Maybe packages solves that. (if somebody pesters you enough, you simply provide a lazarus snapshots that can generate packages for your app) But it is a burden, no doubt that.
That's why FPC chose to use modified library, to avoid this endless grey area of opinions, and "it is possible, just not in a way a sane person would want to" like options.
But that matter less for libraries like postgres, qt etc.
Moreover, in QT's case, there is another layer inbetween. In a weird (and frankly quite unimaginable case) you could just surrender the QTPAS code, and let them fix it in there.