While it may be complicated or time consuming to retrieve it, they do not get to keep it. A regular business practice would be to charge a fee on retrieving. However, understand that they do not have the rights to my money just because I made a mistake like that!
WuLabsWuTecH, thank you for this comprehensive explanation. As I understand it though, there is one gotcha: MtGox must have full access to all accounts to operate, so they must also be able to transfer money from the account where it was erroneously deposited to back to my account (as long as that account is still solvent after such transfer).
You're starting down a slippery slope there. Sure MtGOX has full access, but we have no idea whose account the money was credited to. He may have traded it already or bought a pizza with it! In Banking, transactions are reversible, but Bitcoin is built not to be. You are requesting that MtGOX start acting like a bank and go into someone's account to retrieve the funds. This is not a good road to go down. I would agree that MTGOX should credit you had THEY been the ones to make a mistake--that is to say, had you transferred in BTC to your GOX account and they credited it to the wrong account. I would agree that MTGOX should eat the cost there and credit you with your BTC that you rightfully deposited, but since they made no mistakes they should in no way be liable for your loss. It comes back to the fact that you did not follow proper deposit procedures (only depositing to an address that is assigned to you).
Further, I don't actually know if it's provable that they BTC is rightfully yours. A good analogy (I know it's not a great one) may be that you deposited money with Bank A, and later withdrew said money plus interest. You stuck the cash in an envelope with no return address (or the return address of bank A, you were cheap and used one of their envelopes on the counter) and mailed it to Bank B. In it, you indicated that you wanted the cash deposited to Account number 1235. Unfortunately, your account number is 1234. While it can be circumstantially shown that the amount deposited was the exact amount you withdrew from bank A 2 hours prior, it cannot be conclusively proven that is where the money came from. Make sense?
Speaking of slippery slopes, BitCoin is about trying to get away from regulation and nanny states. Why would an exchange start popping up messages warning people not to send money to certain addresses. This once again starts down a steep slope. Do they do it for all gambling sites? What about doing it for known scam sites? Where do you draw the line? It's up to each user to do the due diligence for himself to figure out whether he wants to do business with any other user and this includes reading the warnings posted on both sites about compatibility issues.