I remember I pinched the API guide for XP thinking "if it works in XP then it must work in Windows 2000" and the reason I remember that so vividly was because it didn't work properly. In fact it caused a kernel panic. Which was pretty much the only time I managed to upset Windows 2000 badly enough to cause a "blue screen of death".
If you were able to build it for Win2K, and it compiled successfully, then it was supported - it wouldn't be in the headers otherwise. Even if you build it with XP as a target, and then run on 2K, you'd get a regular Win32 error about not being able to resolve a symbol from a DLL. Getting a BSOD indicates a driver issue.
MSDN also says that it is supported for Win2K+: https://docs.microsoft.com/en-us/windows/win32/api/winuser/n...
Aero in Vista was something else - it was the first version of Windows that did whole desktop composition, and so it could do all kinds of fancy stuff, similar to Compiz that preceded it on Linux. Transparent windows in 2K/XP used per-window composition.
(I say "pretty sure" because I once wrong a program to create a second mouse cursor but which was controlled via a game controller. The logic being I could multi-task my GUI operations. Obviously the logic was flawed and that application proved dumb but it was a fun development exercise none-the-less. Anyhow, I think I drew the cursor directly to screen by reading and writing pixels using some Win32 API; but I'm not super confident of that memory).