McDonald's has the simple, yet efficient, policy of charging you exactly as much as you will pay: or rather, as much as the average buyer in that location will pay.
This explains why McDonald's prices are different all over the world, and also within the same country.
McDonald's guarantees that its food products will taste the same all over the world, not that they will cost the same.
As an instructive example, consider Mexico. The cheeseburger here (as of the beginning of 2001) costs between 15 and 20 pesos. This converts (in USD) to between $1.80 and $2.40. Why ? Is food more expensive here ? No, and besides, McDonald's buys in bulk on a stunning scale (the only thing they import is the potatoes). Is labor more expensive ? No, in fact the minimum wage here is about one tenth that in the US. Location, taxes, insurance ... are all as much as in the US or much cheaper. So what's the deal?
Easy: McDonald's squeezes the Mexican as much as they suppose (and no doubt experimentally determine) it is possible. This is in fact a difficult problem, because the price is determined based on other local food alternatives, and on the class of people you want to attract.
But after all this is not so strange, because this is what capitalism is all about. About the same thing happens with consumer goods. Another master at this task (called pricing) is Coca-Cola - but they have it easier, since Coca-Cola is very very cheap to produce. In fact, it is estimated that about 60% of Coca-Cola total worth is its brand (that's to say, it is a share of people's thoughts).
It is interesting to notice that McDonald's in Mexico puts a heavy accent on the fact that they are clean and healthy. Their basic sandwich is priced just a tad more expensive than your basic torta at a torta stand. The complete meal is more expensive than a typical comida corrida, but less expensive than a lunch at Sanborn's or Vips.
McDonald's in Mexico is solidly middle class food.