Never. What you need is another client
No kidding...
Run two patched clients and have an exchange.
Traders would send one transaction transmitting size, limit price and time in force of an order (e.g. 1.00027950 LTC for "want to buy 0.02795 BTC for 1 LTC, fill or kill")
If matched or partially matched or expired, exchange send the coins back.
Simple and stupid. No accounts, just a pair of addresses for the exchange and for each trader.
Technically this is not very difficult.
What we need is a common protocol, so that the patched clients, made by different people for different coins, can communicate via the blockchains.
Still no cash, just crypto.