Or, just use a system like we use on Bitalo, where fractional reserves are impossible because of use of multi-signature Bitcoin addresses, which means funds are specifically tied to user wallets and exchange operators cannot use them without user's signing all transactions by himself.
This requires one transaction per trade, effectively.
While systems like that have many applications— and should be used where they can, they aren't a replacement for large scale markets like MTGox or for ultra-low-cost instant payment systems.
Exchanges don't trade on the blockchain, only deposits and withdrawls are on chain. Off chain transactions make up the bulk of transactions as the blockchain can currenly only handle around 7 transactions a second which is about twice as much as it's actually being pushed so there's still room to breath.
The same applies to overstock, coinbase is doing their transaction processing and it's likely most of those are off chain as well as coinbase is a broker and has plenty of coin and dollars in house and is likely where purchasers in the US got their coin anyway as well is also likely being the users online wallet; they settle up daily with an exchange to keep their supply at necessary levels.
Bitcoin isn't ready for mass adoption yet; the infrastructure is still being put into place and the 7 transaction limit has to be removed and exceeded by quite a bit to grow the point of being able to handle large volume kind of stuff. In the meantime, and probably even after, off chain transactions will likely be how most scale is achieved.
Lots of other interesting charts there. In any case, it doesn't really matter as to the main point that exchanges don't do on block trading, the volume would be far too great for what the network can handle.
They are paying much higher fees for trading on "normal" exchanges. Transaction fee is only 0.0001 BTC, normally you pay WAY more for trading on Mt. Gox/Bitstamp.