We too employ a 2-iteration process to the design/UI/IA stages, however I don't understand why the client should still have the option to make 2 iterations of changes during the development and especially deployment stages of a project.
The elweb illustrated process appears to miss out a key section - functional specification. We derive our func specs from scoping meetings, navigation structure, required content etc. which is then presented to the client along with user journey flow diagrams. This is presented and discussed before the design stage - thus the functionality is agreed upon far before development happens.
With this approach we don't run into the situation where the client wants to make changes during development which could potentially greatly extend a project's timescale (cost is less of an issue as it passed onto the client anyway).