@empottasch - I should have mentioned in the read me but this is a "feature" of Windows XP and higher
Microsoft in its infinite stupidity decided to stop supporting changing text and colors in WM_CTLCOLOR message in Windows XP and higher so you simply can NOT get any other colors than "regular" (standard), unless you stop using Windows OS and draw every pixel yourself.
This is how GuiButton and GuiToggle are drawn - once you set custom colors Windows OS is COMPLETELY BYPASSED and every pixel is drawn by the application.
But for checkbox and radio we are using Windows OS. And that means seeing the limitation of Windows.
I could re-implement yet another part of OS, but should I really?
Microsoft having hordes of programmers can't do basic things. In fact these things were working pre-Windows XP. Why should individual fix all the wrong doings of big corporations (Microsoft, Yahoo, Google). Funny thing is that Microsoft is NOT using their own OS functions (controls) in their OWN products (MS office). Instead of fixing the OS, they re-implement in the Office large portions of what should be working in OS.
As to Radio button controls, in order for them to create a GROUP you need to use CONSECUTIVE IDs. Your IDs are incorrect, they are using 40, 42, 44 while you should be using consecutive numbers (40, 41, 42)
// working example:
GuiRadio( "Rad1", 40, 10, 10, 100, 20, 0 );
GuiRadio( "Rad2", 41, 10, 30, 100, 20, 0 );
GuiRadio( "Rad2", 42, 10, 50, 100, 20, 0 );