+ has precedence over ?:, so strGUI += strGUI.empty() ? "" : uiAlertSerparator + _("Warning...") only appends "" if strGUI is empty. The ternary expression drops the warning for fLargeWorkForkFound or fLargeWorkInvalidChainFound if it is the first string to show.
Fix by wrapping the ?: expression in parentheses, so even the first warning is appended to strGUI.