Hi
Can you provide a screen shot of the condition to terminate the loop and a workflow log of your workflow (chronological) when the first agent has approved.
Cause in your scenario If I understand correctly USER1 approve (belongs to ZRULE1) another Loop USER2 (should get the new workitem - also belongs to ZRULE1)
This according to the SWDD should work but we need more details
Cheers
Stephane