The point is that every "round" is a distinct way of separating combat. Ideally we would have random intervals where each unit checks "should I retreat now?", but that is not practical as it would introduce too much chaos. Thus, at the end of every "round" each unit would check whether they should retreat, and if they are below their retreat percentage then they will do so. As many have mentioned before me, it would not make sense for them to be able to check instantaneously.