I don't have fun with that: https://bugs.freepascal.org/view.php?id=29762
There was >40 of broken windows api functions and headers. It was bad experience, to patch what must just work.
It's not a big issue in my view.
If you know what the right declarations are - simply create a stand-alone unit with the proper version and use it.
(no need to recompile rtl or anything)
I run into missing declarations pretty often. Rarely do much fuss about it. (just create my own declaration and use it)
Sharing the findings is definitely a sign of a responsible community member
I can argue about "must just work". The headers were created back in the days of win9x, where unicode versions didn't exist.
Headers were "just working" at that time.
There's no dedicated person in FPC team to keep headers up to date with MS releases
So as time went by, headers became outdated.
One can blame Microsoft for not providing up-to-date Pascal versions of their WinAPI.
The same is true for any other 3d party library.
OpenGL is an example. The new APIs are being added by the developers patches, rather than someone from the core team.