Actually, thats how every diagnosis should begin. The only problem here is that Dlink (playing the role of doctor) has not asked "what hurts". I think there have been a number of people willing to offer configurations, settings, screenshots, network topology, etc. One guy even posted his own log to show some of the exact errors. These submissions have received no response. Collectively, people are guessing and clicking off DNS Relay simply because one of the errors they see in the log mentions DNS relay specifically. I would wager that 90% of the people (including myself) here have no idea what DNS relay does. Most of us are not network engineers. We are simply purchasing a consumer level product and asking for consumer level support. Without Dlink commenting on "we are looking into it", people feel ignored and that their problems are dismissed.
Very Basically: DNS is what i used to translate an hostname like www.google.com into an ip address like XX.XX.XX.XX. When you visit a website for the first time on your computer, it has to look up the ip address based on the address you give it. It then stores that information temporarily on your computer. Your internet provider provides DNS servers that provide your computer with this information. By using DNS relay, instead of connecting to those servers, your computer asks the router for this information and then the router connects to your isp to get it. The information is then relayed through the router to your computer.
This feature was broken in 1.21 I think and then was fixed officially in 1.31. Although it was fixed, it seems like there is a new issue. This corresponds to the symptoms people are seeing. It works when you reboot, and then over time (as you make more DNS requests), it starts to slow down to a crawl to a freeze.
So everyone should see if turning it off fixes this issue.
[edit]
I will also like to say that apparently the DNS relay in the 655 isn't cacheing so I am not even really sure what the point of DNS relay on the 655.
DNS caching means that if computer1 went to google.com, the router would get the DNS information and store it until it expires. Then when computer2 went to google.com, the router would already have the information and provide that to the computer. This would save the router from having to get that DNS information a second time.
However, since its direct, the router has to connect to the isp dns servers everytime there is a dns request. So really there is no point in using DNS relay.