McDonald's clearly knew that their pricing would dupe customers out of small amounts of money, which would eventually add up to a fairly significant gain for their company. This kind of sneaky and essentially fraudulent activity ought to be discouraged. Allowing it to continue unchecked is sanctioning unethical consumer behaviour.
No, businesses should not be held accountable for misleading pricing, if they are upfront about posting those prices. The principle of caveat emptor, otherwise known as "buyer beware" should apply when thinking about the pricing practices of businesses. Consumers are fully able to make their own buying decisions based on information provided by businesses.
McDonalds has a right to set their prices however they like. Ultimately, this is only going to result in McDonalds raising their prices for the individual items, so that these people can't complain. It is going to take a deal away from the people who were smart enough to figure out that it made more sense to buy a la carte.
Businesses like McDonalds should not be sued for misleading prices, because these companies are upfront about their prices. When someone walks into a McDonalds, he sees the menu with prices before ordering. Therefore, he knows exactly what he is paying for and can compare prices before ordering. There is nothing misleading about this practice.