Actually, it is TiVo who provides all metadata for EPG, info, search, etc. to Dish (and I believe the voice feature via the remotes are TiVo tech/patents that Dish has licensed). How the data makes its way from a local station or other processes involved in its journey before it reaches TiVo, who in turn, send it to the DBS services like Dish and other customers, is something I don't know in great detail. However, NONE of Dish DVR's today use the PSIP data system, so the only party who populates Dish EPG' s is DISH via its own satellites. TiVo merely allows Dish to use TiVo's metadata as per copyright agreement. I don't know if Dish accesses TiVo servers or TiVo transmits metadata to Dish, but it is ONLY Dish who send/transmit such data to Dish devices, and it is Dish, as a customer, to demand correct metadata. HOWEVER . . .
OP, by your description, I think I know the particular OTA guide problem you are talking about, and I have been quietly putting up with it for a long time, but now I have the dual motivation to finally post about it on this forum, and it is a VERY annoying problem. I will say that in my opinion, it is, indeed Dish's fault, and to a lesser degree, perhaps, TiVo's fault.
The OTA guide data you and I (likely many others, as well) have been experiencing is due to the recent Re-pack of local OTA stations, specifically those broadcasters who are now sharing transmitters, or, in other words, main channel broadcasters who are now broadcasting more than one main channel OTA station. To illustrate, I shall use one example of many in the Los Angeles DMA:
Channel 28, KCET and Channel 58, KLCS were both MAIN channel OTA broadcasters and transmitted on their own separate OTA frequencies, which included their sub-channels. A few months ago, after it had earlier sold its OTA spectrum in the FCC Re-pack auction, KLCS ceased broadcasting at their old OTA frequency and is now broadcast on channel 28, KECT's OTA broadcast frequency. Yes, the broadcast digital stream on KCET 28 now provides TWO (2) HD broadcast channels, KCET 28.1 and KLCS 58.1 (virtual channel 28) are being broadcast on the same OTA frequency. In addition to the data for two main HD channels, the stream includes each of the broadcasters' sub-channels, at least 2 for KCET and at least 2 for KLCS, by my last count, are also being transmitted in the same stream on the very same frequency as the main channels. That's a total of TWO (2) main HD channels and at least FOUR (4) SD sub-channels being broadcast on the same OTA frequency in a single digital stream.
However, we would not be aware of this because we still tune our TV's, sat box or TiVo DVR the same way we always have, by punching in the OTA channel on our remote control--28 or 58--or selecting the channel from the EPG that still has each channel listed separately on the guide as had been for years. What happens now is that instead of the device tuning to KLCS 58's old Digital channel of 41, a command to select KLCS 58 now tunes to KCET's broadcast channel 28 (Channel 28 is both a coincidence of Digital and Virtual). This is called channel mapping. It appears that you are tuning to channel 58, but, instead, the device really tunes to channel 28 so that you can view the requested KLCS content being broadcast on KCET channel 28 where it streams the entire programming and suite of channels for both KLCS and KCET.
Now, here is where the lack of good housekeeping creates a problem: in the digital realm, every tuning device--OTA, Sat box, cable box, TV, TiVo DVR, etc.--has a Table within the device (the head or Master device, NOT the clients like Joeys or TiVo Minis) that directs the tuner where it REALLY must tune in order to access the correct, requested stream of data that has our TV shows we want to watch or record. On that part, the Dish STB's perform correctly. Dish devices can tune to all those individual OTA sub-channels and display the correct programming for us to watch or records. It is important to note that the EPG for the both Satellite LiL .00 and OTA .01 channels display the correct program shows, but this is not the case for the sub-channels. While The OTA data that the EPG displays for all sub-channels of KCET are correct, the EPG data for KLCS show the very same program/TV shows data for each corresponding sub-channel as KCET even though KCET and KLSC are showing DIFFERENT TV shows. In other words, the EPG data for KLCS sub-channels is pointing to KCET EPG sub-channels metadata, and so KLCS and KCET on Dish EPG will display the very same EPG data info for all the sub-channels when, in fact, KLCS is airing totally different programming. This is the case for a number of stations in the LA DMA, and entries on Dish's EPG even go so far as to display the ION logo and EPG data on the WRONG MAIN channel of 64.01(which is now the new location for IONLife), which is a duplicate of data and logo for correct metadata and logo on Main channel 30.00 and .01. There are even more examples of such errors in the Dish LA DMA EPG.
Now, I don't know all the details of how the magic of Dish EPG data management works, but, it seems to me that it is Dish who have not updated/fixed things (an EPG data table, perhaps) so that the correct EPG data will display for what is truly airing on instances of shared broadcasting stream of sub-channels. It also seems to me that it is DIsh who is responsible for populating the correct metadata for each channel on its EPG. However, TiVo may also be involved part of the process of populating Dish EPG and TiVO may also be at fault. I'm not certain, but . . .
A similar problem is present on my TiVo's. They too need to fix their channel mapping table, and in that case I was NOT able to tune to SOME new sub-channels for quite some time. However, TiVo does, indeed, display the CORRECT EPG data for which Dish EPG displays the WRONG EPG data for those very same broadcast sharing sub-channels. There are some instances of TiVo having not updated the EPG data for a few REPLACEMENT channels (IonLife having left 30.3 and moved to 64.01) that were NOT part of the re-pack. Dish's mess seems to be related more to the re-pack. So, this is MORE of an instance, perhaps, of Dish not maintaining their provided EPG data for correct display of programming for broadcast shared sub-channels, since TiVo DVR's do display the correct EPG data for those very same sub-channels.
The root of all this wrong data is that the repack is something of a mess, at least to companies like Dish (and TiVo DVR's), who are, perhaps, responsible for maintaining data tables for its own devices. It seems that all this extra work due to OTA channels "re-packing" seems to be overwhelming the meager resources that these BIG companies are willing to commit to keep their EPG data displaying CORRECT programming data for recent OTA re-pack changes including broadcast sharing.
To be fair, with TiVo, it seems that the EPG metadata is updated to reflect correct programming info after only a few days of a re-pack including broadcast sharing, but TiVo seems to crawl ONE TiVo DVR at a time in our home over weeks, or even MONTHS in a few cases, to finally be able to tune to some of the re-packed sub-channels. This re-pack process with its gradual change over a prolonged period, seems to just create a MESS for everyone involved who is in the OTA broadcast biz, TV programming metadata, and the MVPD's like Dish and TiVo's DVR side of their business (again, TiVo also provides metadata--to Dish among others--with its IP part of their business).
All we can do, it seems, is hope and wait. Thankfully, I do have TiVo's to record the sub-channels with correct metadata, but I do use my H3 to record regularly some of the sub-channel programming, but dear old Mom is a DISH H3 ONLY user and loves much of the content on the OTA sub-channels and is often frustrated with the current mess of the re-pack and Dish's lack of maintenance of their EPG, and she is also still quite miffed at Dish's long standing inability--or unwillingness, I would say--to populate ALL the OTA sub-channels with EPG data.
I have not seen ONE instance of Dish having corrected its inaccurate EPG with broadcast sharing since DAY ONE of it occurring here in the LA DMA, and that was MANY MONTHS ago. I am beginning to think Dish will never fix it, and that is pretty sad because, at least in my experience of properly working Dish USB tuners, the Dish OTA option can be a great enhancement and would certainly help in retaining some customers, including those who are likely to "cord cut," but the value of pay channels and those FREE OTA channels integrated into the EPG for easy viewing and recording means some Dish subscribers don't have to leave Dish to get the best of both worlds.