I've had this problem with all my Macs at home, although it would never occur with other Wi-Fi access points. This leads me to believe it has something to do with the wireless access point itself.
I was never able to fix the problem, but it went away after I bought an AirPort Time Capsule, which now serves as my wireless router. It has an extremely limited feature set compared to a real router, but I haven't had connection problems once since implementing it.