How to repair time machine after it loses its history
Had a similar issue, but I didn't have a backup of the plist file to replace, so I did the following to recreate the SnapshotDates array:
Removed the last couple backups (in Finder; was unable to do it in Terminal likely due to system protection enabled). Then opened terminal and executed the following:
$ cd /Volumes/[Backup Volume]/Backups.backupdb/[hostname]
$ for x in `ls`; do echo -n $x | sed -E &quot;s/^([0-9]+-[0-9]{2}-[0-9]{2})-([0-9]{2})([0-9]{2})([0-9]{2})/&lt;date&gt;\1T\2:\3:\4Z&lt;\/date&gt;/&quot;; done

That outputs all the snapshots in &lt;date&gt;....&lt;/date&gt; format; I copied those, then in com.apple.TimeMachine.prefs, found the appropriate backup volume under the Destinations element, and overwrote the contents of the SnapshotDates array (not the &lt;key&gt;SnapshotDates&lt;/key&gt;, but everything inside the following &lt;array&gt;...&lt;/array&gt; tags) with the copied lines.
Fixed indentation of the elements to match, and saved the file.
I haven't completed a new backup yet, I'm still waiting for the corrupt backups to finish getting deleted, but the date ranges of the existing backups now show properly.