Did you get anywhere with this? I have a similar requirement in that one branch of a workflow (snooze/alarm loop) needs to kill the other branch (waiting), then complete and end the workflow. i.e. I want the snooze/alarm loop to stop the whole process if the users chooses.
My thoughts so far were to $WFMain.WAPIPkg.SetWFStatus to WAPI.WORK_STATUS_STOPPED or do WAPI.StopWork, but this causes a SQL error on WLOCK table.
Next I thought to set a WF Attribute and send on the waiting step to make the decision to die.
I might be able to make the waiting step complete and let WFAgent move it on?
Anyone any thoughts ... one branch kills the workflow or the other branch.