I've heard that with some brokers the limit orders work also take liquidity. For example with a bid ask of 50 and 53, you post a limit to buy at 49, you won't get filled until the ASK hits 49. So you pay the spread whether its a market order or a limit order. Does anyone know a broker that doesn't charge you the spread for limit orders?
With Interactive Brokers (IB) your limit order is displayed in their system to other traders. You will get executed exactly as you describe unless another IB client uses your bid/ask to complete their transaction. It doesn't happen that often but I sometimes get partial fills that are clearly from retail customers rather than liquidity provides (e.g. $35k on a $500k order).
The market makers display bid/ask prices and Interactive Brokers ships your order off when a market maker price matches your limit order price. (There's no central exchange for forex.) In the mean time, if an IB client's bid/ask price is better than a market makers, their order gets displayed.