JCallip's suggestion tends to support a discovery I made last night:
When you have your DirecTV receiver connected to the internet behind a router, most of the documentation available just says that you need to open up the STB Services and Audio Services ports listed in (Menu -> ....setup -> system setup -> network setup -> Advanced) and point those ports to the IP address for your DirecTV receiver. With this setup, On-Demand content was constantly buffering and pausing. I discovered another post that pointed to opening the L2TP port (UDP 1701) and forwarding it to your DTV receiver as well. Once I did so and restarted my receiver, I saw a HUGE difference in performance getting on-demand content. If you're having issues, you may wish to try this as well!
Since L2TP (Layer 2 Tunneling Protocol) is primarily used for VPN connectivity, I'm guessing that opening the port allows the DirecTV receiver to connect to the inside of DirecTV's network rather than outside over the network. In JCallip's case, he's not using a router (no ports need to be forwarded) and the DirecTV receiver has direct access to the internet through the cable modem.
Hope this helps others!
Mike