In case it is of use to people who may be using the workflow covered in this thread, I created a workflow that covers these sorts of cases and quite a few more. It is under active development and you can join the discussion on this thread.