Hi,
Make absolutely sure that you are allowed to change the user WF-BATCH to service user. This system user is used by the workflow engine, and is generated automatically as a system user when you start implementing workflows. It is possible that now your scenario works, but perhaps some of the existing workflows do not.
About your other query: Maybe it would have been the best alternative in the first place to use some kind of enhancement solution (instead of the event + receiver function) to trigger the web service. Then you wouldn't have had the problem with WF-BATCH, and perhaps you would have better control of how many times the web service call is done etc. Even if you do some kind of Z-table solution, the events are triggered at the same time (aren't they?). You might have an issue that the Z-table is not updated fast enough...
Regards,
Karri