I run dd-wrt, which is based on the same code.
Are you running dnsmasq? I find it's pretty flakey. Once that goes down everything dies till you reboot. If so turn it off.
I also overclocked my router from 200mhz to 216mhz, which has helped a lot with my 20Mbps connection. If you're thinking of getting a new router anyway, why not give it a go, there's nothing to lose?
I know this is for dd-wrt, but there might be a few hints on this link re tcp udp timeout settings etc:
http://www.dd-wrt.com/wiki/index.php/Router_Slowdown