Running speed tests when you have other processes accessing the internet is not proving anything.
Have you got multiple PCs? If so you have you need to make sure they are all off or disconnected from the internet before running the test -
any internet activity on other PCs will affect your speed test result.
Next I suggest you download a copy of NetMeter 1.1.3 (Google it, it's available from many sources). That will show you all your internet activity (both upload and download) - make sure you've killed all processes accessing the internet (particularly P2P) and that there's no internet activity. Now run the test. As well as posting the result of the speed test, attach a screen dump of the NetMeter window (attach is in the additional options).
Uploads can affect download speed because all transfers are a two way process, the receiving machine has to send back an acknowledgement before more data is sent.
Saturating a router with hundreds of P2P connections is known to crash some routers - you need to look at limiting that as well.