I was thinking the same if, for example, there was an 'error' in the process variables, and you might want to 're-start' the process.
I guess if you actually want to re-start the process, then it might equally make sense to 'end' the current one and then to simply start a new one? Otherwise you'd have to consider how you would handle having another instance of the start task created.
In my JBPM system, I have implemented the ability to re-route tokens to where ever you want. I also got errors when trying to route if back to a start state. So as a solution, I have put in some validation which doesn't allow you to route it to the start state. Instead, it tells you to rather create a new flow. That's basically what you would be doing anyway.