Actually, when I tried this, using the condition my:Version is not blank (an equivalent -- non-repeating field inside repeating group) it ran the action only if all the fields were filled in. I'm surprised you are getting different results.
One way I check conditions is to add a field to my main data source (inside the very top group, in this case) and set its default value to the condition I'm checking, place the field on the form and preview the form to see when the value changes from true to false or the reverse.
Edit: I just realized, I tested using "is blank" so if any were blank, I had a true result. I'm trying to think of a way you'd be able to switch your condition -- maybe have a rule with a condition of my:Version is blank that sets another field's value to true and then a rule triggered off that field being true? A little kludgy, but a thought...