I'm not sure how it would affect things but you could have it so that it only tracks normal state after player state has been processed, then once normal state has been checked it stops tracking it until the next player state.
Theoretically it should then have your player state reports before the normal state reports.
EG.
Lua Code:
function CombatEvent(eventID,...)
-- Process Regular Combat Events
UnregisterEvent(blah,eventID)
end
function PlayerCombatState(eventID,...)
-- Process Player Combat Events
RegisterEvent(blah,EVENT_COMBAT_EVENT,CombatEvent)
end
RegisterEvent(blah,EVENT_PLAYER_COMBAT_STATE,playerCombatState)
Of course, memory recalls that event buffering is a suggestion, so it might be worth checking out
http://wiki.esoui.com/Event_%26_Update_Buffering to see how it can be done in your situation. It might prove to be the better choice with stopping event tracking possibly missing events needed.
Of course I am falling asleep so I may be totally wrong in both suggestions