I have been looking the patch for src/aui/barartmsw.cpp, and the text color for disabled buttons is still hardcoded in two methods (DrawButton and DrawDropDownButton). Also, for disabled buttons you set the color twice. I think
dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_CAPTIONTEXT));
if ( item.GetState() & wxAUI_BUTTON_STATE_DISABLED )
dc.SetTextForeground(DISABLED_TEXT_COLOR);
should be
if ( item.GetState() & wxAUI_BUTTON_STATE_DISABLED )
dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_INACTIVECAPTIONTEXT));
else
dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_CAPTIONTEXT));
and this part can be removed
static const unsigned char
DISABLED_TEXT_GREY_HUE = wxColour::AlphaBlend(0, 255, 0.4);
const wxColour DISABLED_TEXT_COLOR(DISABLED_TEXT_GREY_HUE,
DISABLED_TEXT_GREY_HUE,
DISABLED_TEXT_GREY_HUE);