Yes, I'm aware that real-world transactions can be difficult to handle due to non-standard interfaces. But that's not my competitive edge. I'm good at outdoing your 10% codebase.
You know that not everything in a business is solved by coding right? In fact, coding itself is probably the least important activity. I have never ran an exchange or a business, but I can easily guess that you can't add support for lots of different payment methods in a snap.
Just look at the top complaints from people here. All you see is: "I can't withdraw.", "I need to verify the account.", "My bank transfer hasn't cleared", "MtGox doesn't answer my questions", etc. You don't see anyone saying: "Oh, MagicalTux clearly didn't write that method right. He should have used an HashMap instead of an HashTable". Running an exchange goes way beyond the ability to write Ruby.
My vote goes to anything but MtGox. I still believe that we can have a more balanced market.