"Save, Delete or Commit has failed because <pzInsKey of WorkObject> is not held"
It means at the time you are doing either your commit or obj-save with write-now flag or obj-delete with immediate flag, you no longer have the lock on the object.
One thing you can do is a trace with the "locking" event type enabled to see if you can spot where you are unexpectedly releasing the lock too early or perhaps neglecting to acquire it in the first place.
If you are using obj-refresh-and-lock, things are more complicated, so be sure it is appropriate to use that method. /Eric
As you are calling the flow action pyResolveAndCloseCase from the parent case that means you must be having the lock for the parent case. But you may not have the lock for the child cases which is causing the error. I think if you dont have lock on one of the child case it should rollback all the update and should not close the parent case as well.
Can you check in the DB if the parent case is closed or not? If there is no assignment it might show the confirm harness containing case resolved but may not be resolved in DB. Please check for the workstatus for the parent and all the child cases.