The #1 cause of Transcoder Reset messages in clients is due to using unreliable IPTV providers (which we can't do anything about). After that, it's TVE channels that are having difficulties with the providers (which we also can't do anything about). Beyond that, the next most common is an issue with resources on the DVR being overloaded — IO constrained, network configuration issues, CPU constrained, etc.
After all of that, we do, from time to time, find bugs that we can fix or improve in the way our system functions.
The reason why we suggest that people use direct instead of streaming is because, in the general case, it's just better for everyone: Streams start faster, it uses less resources on the DVR, and there are less moving parts involved that can cause problems.
Yes, this is a result of a lot of design decisions over the years and it's unlikely to change in the near term. For most of our customers, this is a non-issue that they never run into. Using the DVR with an HDHomeRun is extremely reliable and it is unlikely that users with this setup would ever see this problem.