The DEVMODE record type defined in gwindows-common_dialogs.ads needs two more entries at the end in order for it to work on Windows 2003 server.
It needs these two lines added at the end:
dmPanningWidth : Interfaces.C.long;
dmPanningHeight : Interfaces.C.long;
I found this while working on adding a binding to CreateDC (create a device context) to GWindows. This addition is described by Microsoft documentation as being needed for Windows 2000 and above, but I found that the Windows XP CreateDC will work fine with the existing Windows 98 version of this record type. The Windows 2003 Server CreateDC always fails.