I would think, if the stuff kept flying off the shelf like that (even is only due to one customer), you would just stock more of it and then sell more of it. Stock enough to let her buy all she wants and still have enough left over for everyone else who wants to buy it to get theirs too.
You're not quite familiar with the concept of a loss leader, are you? You put a product in at a price where you're losing money but advertise it heavily in order to drive traffic to your store. You have a limited volume so that it doesn't cost you too much, and you accept the problem that customers who come in looking for that product after it's sold out will be dissatisfied. By putting a limit on the number of items that one person could purchase, you end up with one pissed off customer who isn't really generating you any profit anyways, and a lot of more satisfied higher value customers. If the goal is to get more happy customers, and the options are to put up more product you're losing money on or pissing off one person who's costing you money, you'll quickly find out that you don't feel so bad about pissing off that one person.
Netflix actually does a similar thing with their mailed DVD service. Let's say Bob and Fred both have HotSummerRelease on their wish list. Bob watches tons of movies, about 10 a month, returning the movies every 3 days. Fred doesn't watch nearly as many, usually only 2 a month, keeping the movies for 2 weeks at a time. You only have one copy of HotSummerRelease, who do you send it to? Most efficient and logically minded people will instantly say Bob. He's only going to keep the movie for 3 days, so you'll get it back sooner and can then send it to Fred.
That's not what Netflix does, though. They send the movie to Fred. Why? Because with all the movies that Bob goes through, he costs the company more money in terms of postage. Since Fred and Bob pay Netflix the same amount, but Bob costs more, Fred is a more valuable customer. Fred gets the movie first because Netflix wants to make sure that Fred is happy.
tl;dr: Not all customers are equal, and it's a fairly standard business practice to give preferential treatment to higher value customers and to tell expensive ones to shove off.