I'm afraid that the premise of your question is incorrect. The Delphi 6 Windows unit does not link to CreateWindowW or CreateWindowA. Here is how these functions are actually implemented:
function CreateWindow(lpClassName: PChar; lpWindowName: PChar;
dwStyle: DWORD; X, Y, nWidth, nHeight: Integer; hWndParent: HWND;
hMenu: HMENU; hInstance: HINST; lpParam: Pointer): HWND;
begin
Result := CreateWindowEx(0, lpClassName, lpWindowName, dwStyle, X, Y,
nWidth, nHeight, hWndPar, hMenu, hInstance, lpParam);
end;
function CreateWindowA(lpClassName: PAnsiChar; lpWindowName: PAnsiChar;
dwStyle: DWORD; X, Y, nWidth, nHeight: Integer; hWndParent: HWND;
hMenu: HMENU; hInstance: HINST; lpParam: Pointer): HWND;
begin
Result := CreateWindowExA(0, lpClassName, lpWindowName, dwStyle, X, Y,
nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam);
end;
function CreateWindowW(lpClassName: PWideChar; lpWindowName: PWideChar;
dwStyle: DWORD; X, Y, nWidth, nHeight: Integer; hWndParent: HWND;
hMenu: HMENU; hInstance: HINST; lpParam: Pointer): HWND;
begin
Result := CreateWindowExW(0, lpClassName, lpWindowName, dwStyle, X, Y,
nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam);
end;
As you can see, this mirrors their implementation in the Windows header files as demonstrated by tenfour's answer.
If you have code that is failing because it attempts to import functions named CreateWindowW or CreateWindowA from user32, then the problem is not that user32 has changed, it is that your code is simply wrong to expect functions with those names to exist at all.