When using SetProcessDefinitionVersionCmd from within a service task, and the new process definition contains an additional service task immediately following the migration point, this additional service task is not executed. It seems the transitions of the current activity are cached.
Example process, v1
o - [migrate] - o
o - [migrate] - [second task] - o
A failing unit test is available at https://github.com/jhorstmann/camunda-engine-unittest/tree/set-process-definition-version-clear-cached-activity
I opened a pull request with a bugfix at https://github.com/camunda/camunda-bpm-platform/pull/88