Dear Mercurial, I don't love you (yet).
This looks fine if you only spend a few minutes in the 2-3-2-3 loop. On the other hand, if you're in a very busy team and there are refactorings going on (and when shouldn't there be?) then you will want to have a loop from 3 to 1 pretty darned often (at LEAST a handful of times a day).
At step 1, "For a while" should mean "if a couple of commits have been made by coworkers."
The problem I have with mercurial is that the process of pull, merge, commit is too cumbersome. I have coworkers who swear by rebase, and others who have been bitten enough that they're scared to death to use rebase, and instead pile up the "merge" commits.
There needs to be some kind of change made, if only to fix rebase, because this work flow is broken for active, productive, agile teams.