If I add a file, save it, remove it, and immediately re-add it, the file shows up as requiring a save (no checkmark). I dug into the python code and it would appear that it's the original date field that makes the file dirty. I uncommented the print at file.py line 360, and the offending metadata item that causes similarity to be not 1.0 is:
originaldate [u'2004-06-07'] [u'2004']
It would seem that this is because originaldate is stored as TORY in ID2.3 which only holds a year, so when it's read back in from the freshly saved file, it doesn't match.
I should have mentioned that using ID3 2.4 is OK, as expected. I guess I should just switch to 2.4 anyway.