Hubs, by their very nature are only half duplex -- no matter what, they simply are not capable of full duplex. (remember hubs run at the physical layer of the OSI, meaning they are simply re-distributing a common signal to all ports).
Switches are intelligent, they operate at layer 2 (and above). Switches dedicate bandwidth to each port, so you don't have the same thing going on with a hub (which is shared connections). However it also depends on the quality of the switch, amazing how it may seem but believe it or not I actually came across a very cheap switch that didn't support full duplex connections, it is the only switch in my entire career I ran across that was this way -- I was kind of shocked actually.
So verify your hardware first, switch or hub? If hub, I suggest upgrade to all switches. If switch, read up on its capabilities. In the environment you are talking about I'd suggest investing in a quality switch like cisco.
Further more, mentioning Cisco (I'm a big fan of their gear) they suggest that you ALWAYS use auto negotiation on both the nic and the switch to decide the best speed and duplex mode to run. According to tests that Cisco has done along with just the fact that they are THE authority in routing and switching gear in the world, they claim that auto negotiation is the best way to ensure maximum efficiency.