ChangStatus on X12 Envelope

I’m experiencing a strange problem. When I receive an inbound X12 Envelope I set the User Status to Processing Envelope via the processing rule.
When the desired service is kicked off I process the the Envelope, the Group and the Transaction Sets. I can successfully set the User Status to Processing Done for the the Group and the Transaction Sets but not the Envelope. No errors are returned.

However if I run the service from Developer and step thru it the Envelope status is updated. Therefore the flow itself is correct. Could this be a time processing issue?
Looking for ideas.
Thanks.