Listing a timestamp at the top of TOS versions (and showing previous versions) might also be effective enough at determining which TOS was in effect for any given call. You'd have to make the timestamp go down to the second, which is a little weird for a TOS, but hey, this is a contract for real-time APIs, so go for it.

@benbalter's point about a notification mechanism is super valid, and a separate issue from @joshdata's. However, since API key registration isn't always required (which is :+1:) then even just using an RSS feed (and mentioning this in the TOS as a subscription mechanism for updates) would help a lot to push this clause forward.