We have a DVR in West Palm Beach FL and one in Washington DC. The DVR in DC we have to program EVERY recording to end 3 minutes late or the end of the show is cut off. We do not have to do this in West Palm Beach. It seems that it's a Comcast problem.
First, check the clock time on the DVR (you can see it on several screens) to see if it's really that far off. Is it starting 3 minutes early? Does it do it on all networks? I have generally found that local stations/networks have little lag, but most cable/satellite networks can have 15-30 second delays due to all the satellite feeds and video compression delays.