Before there was kmttg, I wrote my own similar tool (using Net::TiVo and tivodecode). Since the tivo often reports incorrect file sizes, I needed a better way to tell if I had downloaded the entire show. Instead, I query the tivo for the duration of the show and then run ffmpeg -i on the downloaded .tivo file (before running tivodecode) to make sure it's complete. While the encrypted video stream may not be playable, the MPEG headers are not encrypted and most tools can query the file just fine. Do you have some shows that give you .tivo files that ffmpeg doesn't like?