It's not obvious to me at all that this doesn't miss cases, either now or in the future.  Why should CGUILabel::Process only be called if the listlabel has focus or it's scrolling?

Surely the better fix is ensuring that CGUILabel::Process returns true only if something has changed?  UpdateScrollInfo() looks to already return a boolean by the looks.