GDI32 Graphics API will consistently display the wrong colors in an 8-bit paletted graphics mode game. Program uses BitBlt to draw and SetPaletteEntries, SetDIBColorTable, SelectPalette and RealizePalette to set and update the palette
Update based on comments and research:
Can confirm the application uses RGB internally but switches it to BGR when updating GDI's palettes. This produces the correct colors on Windows and swapped on ReactOS. Disabling the switching code makes the correct colors appear on ReactOS and incorrect colors on Windows.
The colors are still wrong even when setting the display to 8 bit palette mode (256 color) which means that GDI is setting the wrong colors in VGA memory too!
I've made a simple color picker program and included it in Palette.zip for helping test this and future issues (Navigate with Arrow Keys, Z is OK and X is Cancel)