Your problem could be a couple of things.
1. The first thing you need to do is benchmark your wireless. Run it in both WPA and OPEN and see what your through put is. You can have a great signal and everything else, but you also could have a bunch of FCS errors. Usually that is caused by overpowering your radio.
2. I have run into this situation many times. I work for a large wifi manufacture and I have seen it come down to be as simple as being a cable with one strand being loose and causing allot of packet errors. just do a quick bench mark on each of your cables to quickly take them out of the equation
3. You need to use a network sniffer (on the lan Wireshark is good and Omni peak personal is a basic one for wireless, and both are free) and see what is all being passed around. There could be a bottle neck somewhere on the network and the packets should tell you what is going on.