Toady checks the Future of the Fortress thread more regularly than this. You might want to ask it there, although I can't remember if it's already been answered (so check some of his responses first).
There was also a save corruption bug in 0.40.20 that Toady decided not to break compatibility for. One of the reasons Toady has stated for not wanting to break compatibility completely is the ability to test older bugged saves, so I doubt that he'd make an effort to keep the next version compatible but break compatibility immediately afterwards. DF does have a system in place to prevent loading saves from specific versions of DF - I believe it only checks whether a save's version number is in a specific range (Quietust would know better), but it could be changed to refuse to load saves from a version with a major corruption bug.
Yeah, but it's not like Toady just felt like breaking compatibility in most other instances where it happened, either. It was just that adding a feature either changed the game in too fundamental a fashion, or else a bug had to be corrected in such a way that save compatibility had to be broken. Save corruption bugs, for example, may require the way in which the saved data is encoded and read to be changed, and it may just be impossible to correct errors made in previous versions.
The majority of bugs have been due to issues where the data is corrupted, not due to problems with the format itself. Even if that were the case, if 0.41.01 were able to load saves from 0.40.03+ but had a save corruption bug, that would only affect games saved from 0.41.01 - Toady could still allow 0.41.02 to load saves from prior versions except 0.41.01 if he values being able to do that (which it sounds like he does).
As I understand it, the chief reasons 0.34.02, 0.40.02 and 0.40.03 broke compatibility were that:
- The damage done to saves saved in the prior version wasn't reversible
- The only saves that were possible to load were from the prior version due to it having broken compatibility with the version before it (e.g. 0.40.02 could only load saves from 0.40.01, since 0.40.01 couldn't load saves from 0.34.11 and earlier, and the majority of 0.40.01 saves were corrupted beyond repair)