Hi Denys,
I think you're experience is a variation of mine as
related here. Seems to be a long-standing issue that hasn't bitten too many but is problematic for the 2.1 database migration. There are some tips/insight on the link. The Neo folks are aware of the issue so I expect we'll see a fix at some point, maybe soon.
Have you tried the "Ole Out and In" -- dump it from your 'corrupt' DB and load it in an empty 2.1? I had a number of tiny to small research and self-learning DBs that it was so much easier to go out and back in on a fresh 2.1 store.
That tip about timeouts might help you, too. And the Neo4j Mojo that I am not qualified to comment on and I suspect is a big factor has to do with leveraging 2.0+ version indexing and constraints, etc. There might be some tweaks to the schema that you can make before migrating that, along with the increased timeout value, might give the migration process the room to work its one-time-only procedure.
It's a painful problem but, as you can imagine, hits a relative small segment of the broader Neo4j community. BTW, if you run Neo4j as a Windows Service, have you tried my mini Control Panel? :-)
http://jim-salmons.github.io/neo4jcp/
I've subscribed to this thread and will let you know if I learn anything more, etc.
--Jim--