Предположим ListBox имеет в своем списке два элемента, элемент 0 имеет фокус, активен другой компонент и вы щелкаете на элементе 1. При этом происходит *ПЯТИКРАТНЫЙ* вызов OnDrawItem, смотрите сами изменения состояний двух элементов:

 

      Index   State

      0       [odSelected, odFocused]

      0       [odSelected]

      0       []

      1       [odSelected]

      1       [odSelected, odFocused]