I'm using the OOTB 'Approvals' child object and associated 'Approve' action in my Change Management process. The action has an associated window that allows you to specify a builder that the change will be assigned to (this is a link to the System\User Object), the next action in the process is an Assign/Reassign that uses 'Process/_Approvals/_Builder' runtime value for the action and this then assigns the Change to that analyst. This works the first time to take the approve action.
I have added a loop into my process that allows a Change to go back to the CAB for approval (we have people who make modifications to the specification of a change that I feel should mean the change is 're'approved by the CAB before the building of the change goes any further), the action is then taken to 'Approve', the window comes up and allows you to input a builder, but it uses the previous loops input in the next Assign/Reassign that happens. Each time it goes round the loop the assignment goes to the previously selected user. I'm not sure why or if i'm trying to make it do something it was not designed to do. Any help would be appreciated.