I thought they matched to the highest price which could be executed downwards. Yours was probably the best available price being offered. I'm confused about why you thought it wouldn't execute at the price you offered.
That indicates you don't know how exchanges work. If the bid/ask on IBM is 100/101 when you put in order with a limit at $120 then you get matched at $101, not $120. That is also how Bitstamp works at least 95% of the time.
There could have always been someone who entered an order opposite you at just the same time, it never had a chance to appear in the order book because you bought it so fast.
That doesn't make sense. New orders are supposed to get matched at best price against the existing orderbook and if they can't be matched they get added to the orderbook.
Whatever the exact reason, it's the one thing I really don't like that much about bitstamp. I'm a happy customer, but their trade interface is lacking, their updates not frequent enough, and apparently, unsatisfying orders like that of OP can happen and there's nothing you can do about it.
I opened another thread in this forum asking hazek from bitstamp if they're aware of the issues, but got no reply yet.
I get the impression that the existing exchanges aren't re-investing. When was the last user-visible functional change to MtGox? Apart from adding and subtracting some payment methods it's hardly changed since it opened. Searching here and looking at old versions on the wayback machine I see all sorts of new features being promised (eg margin trading, "dark pools") that never materialized. Some problematic features which encourage orderbook spamming (such as the 0.01 minimum and taking orders priced in millicents) haven't gone away either despite their frequent inability to deal with the load. I wonder if they ever really got on top of the code they bought.