As far as an update to a schedule in the event of a national emergency or a sporting event running over time-wise, would that be reflected somehow in the feed that is sent out by your / TV guide / etc's listing? How is that handled on your end?
For the JSON service, Gracenote has multiple updates per day, which we take advantage of.
There is a JSON service that allows a client to query "Is this sporting event still on?" If yes, and it's past the end time, then it's up to the client to extend the recording.
Events that run long _do not_ cause a server-side schedule update; too many affiliates do too many things; some push the schedule back, some join whatever was being broadcast "in progress".
Finally, the last time we had a last-minute schedule update was during the Sandy Hook shooting. Either American Dad or Family Guy on FOX was going to broadcast something which was going to be in bad taste given the school shooting, so it was pulled off the schedule by Fox, and Tribune needed to create a new schedule.