In dealing with a recent bandwidth issue, we discovered that it was a speed negotiation issue between a Cisco 3845 router and a Cisco PIX Firewall. You would think that these two interfaces would do a better job of speed negotiation. There were no errors recorded on either side but we experienced horrible throughput... like 500kpbs. The issue was resolved by setting both sides to AUTO and reset the interfaces.
I have had many issues in the past with Cisco interfaces to other manufacturer interfaces (Netgear and Linksys to name a couple). They don't do auto negotiate well, so I have learned to fix the Cisco interface to the max speed of the other side. But, in the case of Cisco to Cisco, it seems that AUTO is the best choice... at least in this case.
The moral to the story is that when troubleshooting bandwidth issues, alway check your speed setting settings on interfaces... even when no errors are recorded.