Nee, der Luckie wollte dir nur sagen, daß wenn du statt einer Fensterfunktion eine Dialogfunktion benutzt (wo man bekanntlich FALSE statt DefWindowProc() zurückgibt), du das Ergebnis von GetSysColorBrush() in einen BOOL casten mußt. (Anmerkung: in deinem Code ist das irrelevant. Luckie hat es nur der Vollständigkeit halber erwähnt.)
Also so:
Result := BOOL(GetSysColorBrush(COLOR_3DFACE));
Nicht vergessen, wenn du eigene Brushes zurückgibst,
mußt du sie auch wieder freigeben. Am besten erzeugt man sie deshalb in WM_INITDIALOG bzw. WM_CREATE.
BTW: Dialoge kann man auch im Speicher erzeugen ... Dialog-Ressourcen sind nicht zwingend erforderlich