Unfortunately this doesn't work. I have tested this. I created a process instance with version 1.0 and then persisted it. I then loaded a new definition with the same id and version 1.2. When i signal to the old process instance it uses 1.2 instead of 1.0. The knowledgebase returns the process definition of 1.2