This is was one of the many features that made SageTV genius. The code is open source these days so if channel dev are interested they should go check it out or lurk around the forum.
Basically anytime you watched something SageTV would treat it as if you were recording irregardless if you explicitly set a show to record or not. New files were always cut as you went from show to show. They even had it that you could start a show switch to another channel and then flip back to the original show and the original buffer would still be intact (remember it treated everything as a recording). If the user didn't explicitly set a show to Record a cleanup process would run that would delete the show from disk. Another added benefit to this paradigm is your buffer basically was never limited and you could record shows that you were watching in the past (provided they didn’t get cleaned up). I really Miss sage... Those guys were really ahead of their time with their server and extenders architecture.