When I need to create a Doctrine_Migration twice during a same php processus, the migrations version numbers get wrong.
In Doctrine_Migration->loadMigrationClassesFromDirectory method, I see :
The problem is that array_merge loose the array keys. In the $this->_migrationClasses context, array keys are very important because they are the version numbers.
So when if (isset(self::$_migrationClassesForDirectories[$directory])) is true ( ie the second time we use the Doctrine_Migration classs ) all the migrations versions get wrong.
I hope my description is clear enough.