First, the only way to delete a workflow programmatically is through the web service. The response seems kind of devoid of confirmation.
I tried this two ways first with workflows I knew existed because I generated them and they were waiting on a response and then with a fake ListInstance.
There are basically 3 parameters for the TerminateWorkflow Web Service Call for a Site Workflow.
The first is a bogus string of zeroes the List. the second is a 0 for id within the list, and the third is a guid for the ListInstance.
00000000-0000-0000-0000-000000000000 0 4f3d251f-3e3d-4065-8784-8d698868f429
There was no response for the good call or the bad. This feels unsatisfying. I would like to know the process has been terminated. Am I missing something.