Added another rule at the very beginning to cater for this.
There is a key method I've used to accomplish this. It resolved a problem you can get if you try to set a fields value using a rule on the field itself.
Infopath checks and runs the rules on a field immediately after it gets changed, so it can get stuck in an infinite loop (which it breaks by giving the user an error).
The new rule I've added at the beginning is the simplest example of the method to work around the infinite loops issue so that the rule only runs once after the initial field change.
'flag field' = 'resting state value' as default
Change Field -> Run rule if 'flag field' is 'resting state value' -> Rule changes 'flag field' to 'processing state value' -> Rule changes field value -> (A) Infopath runs rules from beginning (as field just changed again) -> Rule does not run this time as 'flag field' is currently = 'processing state value' -> Infopath returns to (A) and runs next action in rule -> Rule changes 'flag field' back to 'resting state value' -> Rules finish.
'flag field' = 'resting state value' again ready for next field change.
Might be a bit hard to get your head around but in an extreme usage allowed me to create the mess of rules with produced the desired outcome you asked for ;-)