In the meantime if you would like to be notified when this undesired condition occurs you can add another workflow that runs when the document changes. Simply check for these conditions:
IF [workflow name] not equals 5 AND 2 AND 4 AND is not empty
Send email: Include the library, status, and links to the library, document, and workflow history (http://[your server]/sites/[site name]/_layouts/workflow.aspx?ID=[Workflow name:ID]&List=[Your list GUID] so you can restart right from the email.
Here are the built-in workflow values:
2: In Progress
4: Canceled
5: Completed
15: Stopped
We applied SP2 and that eliminated the problem for a week or two. Then it's returning slowly. I think it may be related to the timer service not starting the workflow.