Doh! I was looking in the wrong place! The culprit is likely to be the code that calculates which @<file> nodes are dirty, not the code that writes those files!
Indeed, p.setAllAncestorAtFileNodesDirty changed for Leo 6.1. It's elegant, but I think it may be the culprit. There are subtleties involved. Next I'll compare the old and new versions
Reverting to the old code isn't straightforward, because the new code base assumes that p.setAllAncestorAtFileNodesDirty is fast.
My sincere apologies, once again, for this screw up. Clearly, a new unit test is needed. I'll attempt a fix asap.
Edward