Просто столкнулся с подобной проблемой и решил путем разделения на разные обработчики.
Я использовал:
ON_EN_KILLFOCUS(IDE_THRESHOLD, OnKillFocusOnEdit)
ON_EN_KILLFOCUS(IDE_AUTODENY_THRESHOLD, OnKillFocusOnEdit)
OnKillFocusOnEdit
будет получать два сообщения каждый раз, когда любое из этих двух правок теряетсяфокус.
Теперь, переходя к следующему, каждая функция получает только одно сообщение, как и ожидалось:
ON_EN_KILLFOCUS(IDE_THRESHOLD, OnKillFocusOnEdit)
ON_EN_KILLFOCUS(IDE_AUTODENY_THRESHOLD, OnKillFocusOnAutoDenyEdit)