You are wrong.
By setting mp_timelimit to 0, that tells the server to NOT have a time limit as opposed to saying time has run out. 0 is forever. He sets it to 0 so the current round can finish and then resets it to it's original value immediately after that round, thus ending the map.