A quick update on the XBox Live disconnect problems I was having last week. As it turns out, the problem was with my router - specifically, the firmware version on my router.
I thought at first I might need to buy a new router, as I wasn't sure if it was supported. There's some conflicting information out there: one version of the FAQ says it isn't, but another version (here) says it is. Apparently, the culprit is with the firmware version and how NAT is implemented in later versions.
So after loading the older firmware, the disconnect problems have disappeared. Lesson learned: the latest and greatest isn't always the best. If you are having similar problems, check the supported firmware versions before you buy a new router.
Only the latest versions are listed on the site, but the older firmware I used is available on their FTP site. Here's a link.
If you are not using this router or are having trouble connecting to games entirely...
If you are you not using one of these routers, or are just having trouble connecting to games (e.g., "Could not connect to all players" in Call of Duty 3), then consider setting your Xbox 360 console as the DMZ host.