For my example above, I figured out is caused by my channel being time shared, so at 6pm it stops broadcasting on aerial but it is still broadcasting on satellite.
I'd recently changed my input priorities to favour the aerial so the satellite is available for non-aerial channels. But that means it now gets the part-time channel and doesn't retune to satellite since it's got a channel lock but is presumably just getting a poster saying "see you tomorrow".
I know that's not OP's problem, but thought I'd post so it can be removed from discussion.
I don't think this is the cause of my other failed recordings, but I'll watch out for it.