How to solve this problem (in WF4):
I create a workflow in xaml and start several instances of it, I have a persistancestore and all workflows persist on a bookmark
Many versions of the same workflow has to coexist. I mean, the old instances has to finish with the old workflow version, and the new ones has to begining with new workflow version. In my case, we have workflow services. It's on configuration where a router describe the order in which instances try to be executed. If an instance cannot start working with one version, the next one is tried, and so on.
Also, if your change doesn't involve changes in workflow variables, contracts exposed, etc... old and new workflow instance versions can run on the same workflow version. You'll know that, testing it.