Having a transaction aborted mid-way is different from having a lock. Mercurial is less resilient to this. In fact for the repro scenario, there isn't a lock file involved.