While testing, I found that some BIQs (though not all) are not openable after a save, and cause crashes. Have verified it in dev, 1.20, and 1.14. Not sure why/what the exact pattern is yet, though. Early pointers indicate it could be related to LEAD, but it also could be related to UNIT (map unit, not PRTO). Probably will slightly enhance BIQ Compare for UNIT to investigate that; it appears there is a BIQ difference there in binary after the save in these cases, although the file size winds up being identical.
Verified that all the tests for IO are still working; it's possible that something in the UI is causing an unintended change. Examples of scenarios that can trigger it are Middle Ages and Twilight of Rome.
It looks like the order of units changes, but the number is still the same... not sure why the order changes, but it isn't a smoking gun.
In lieu of a detailed dive tonight, did version testing and found that, at least for Twilight of Rome, the first version that has this issue is 1.11. That should help in giving a clue as to what the problem may be.
1.11 is an interesting place for it to occur. There are no map-specific change, and the only unit changes are PRTO. There is a reorder fix for custom players, but that wouldn't seem to affect non-reordered cases. Nothing stands out in the changelog.
One additional thought is, could this be a old-list-style specific bug? 1.11 was the first version to enforce that on XP, and that would explain why I hadn't seen this before. That's only one possibility, but it should be quick enough to test if this occurs on 8.1, or with an XP-ified version with new lists.
Probably will require a more in-depth analysis, however.
Verified that there are quite a few (1 to 2 dozen) differences in the LEAD section of the Firaxis/1.11 versions (in addition to UNIT diffs and a few resources showing up a different # of times in WMAP). Going to focus on the LEAD diffs first.
Fixed in 1.21. The starting tech pointers were not being initialized on load, which caused the data length method (which looked at those) to give inaccurate values.