This situation is called a "crossed market"
, and it happens all the time in the real world. But in the real world, it happens because there are multiple interconnected markets, and one market can lock or cross another.
Each individual market has rules to deal with the problem.
Island (a system used by big traders to trade US stocks) like Mt. Gox, runs entirely on limit orders. Island's solution to this problem is to reject orders which will result in a locked or crossed market. That's probably what Mt. Gox should be doing.
There are other potential solutions, but just rejecting the limit order is probably the simplest.
Mt. Gox needs to publish their market rules.
From what I just read, a crossed market is when there is an overlap near the market price. This has happened briefly on Gox, and is probably being handled by some algorithm. None of this explains the gross outliers that have been popping up for the last week.