If you put in a limit order for $20 you should expect to pay $20. By definition, a limit order protects you from paying more, it doesn't guarantee you will pay less or execute at all.
No, you should expect to pay up to $20. Sometimes $20, sometimes less.
Under normal market operation, sometimes the market will trade upwards during the time it takes to fill your order and you'll pay in a range from whatever the market started at up to your limit.
Sometimes the market will trade down during the time it takes to fill your order and will never hit your limit, especially if you make the order while there are more sellers than buyers (say BP after the accident).
So over the course of many trades you may be able to expect average execution prices around where the market was initially trading when you placed the order, since sometimes you'll pay nearly exactly that, sometimes you'll pay more, and sometimes less.
But as these HFT limit probing scams become more widespread, execution averages will skew toward being more expensive for the party on the other side of the trade from the HFT, which is typically big mutual and pension funds that deal in millions of shares, or Joe Six-Pack buying through some less-sophisticated Etrade or whatever.