Hi Dan,
your problem is not a one, which should be solved by a Workflow at all.
Do your updates directly in the receiver-type function module instead, replacing the SWW_WI_CREATE_VIA_EVENT_IBF with a copy of that one, holding your own code that updates the PO directly. No Workflow.
Best wishes
Florin