The EPG needs a little work. When browsing up/down, the EPG will go to the beginning of the episode on the channel being highlighted. If that channel has a 12-hour event, the EPG will jump back XX hours and that makes it somewhat difficult to navigate.
Not sure the coding you're using to display the EPG's XML, but probably not too difficult to stay within the current time range.
FYI, I love tinkering.. If you would be willing to let me see the code for that module, I would be willing to help for free...