One last thought and I'm out...if I sell you something and it turns out I don't actually have the item I sold you, I should give you your money back. You might still be mad at me for my mistake and for wasting your time, but at least I did what I could to make it right. Hopefully you'll at least appreciate that I tried to do right by you, and you'll buy something else from me in the future (that I actually have).
If I sell you something that I don't have, then realize I don't have it and tell you that you're not getting what you bought but I'm keeping your money anyway, you should rightly go apeshit on me - maybe I'm not selling anything else you want to buy, or my prices suck on the other items you'd be interested on aside from the one I "sold" you. Taking your money and not giving you what you paid for or returning your money makes me a grade-one asshat, and you have every right to shout that fact from the rooftops.
It doesn't matter if your buddy brought your money into my store and I took it from him instead of you. It doesn't matter whether I knew before I took your money or not that I wouldn't be delivering the product I sold you. The only damned thing that matters is that I took your money for a product you didn't get. That's it.
@Whiskey, IMHO, took the high road by agreeing to buy something else from the vendor just to settle the issue. She's got a right to be disappointed because she didn't get the product she ordered, and she's got a right to be pissed off and badmouth the company because they wouldn't give her a refund.
I've bought stuff from vendors they didn't have before - I tried to buy a mod from another VU vendor once, and they called me a few hours later to say it was sold out and they wouldn't be re-stocking. They offered me a choice of a refund or replacement with a comparable product. I went with a different mod and have bought product from them twice since. If they'd have told me I had no choice but to take what they wanted to give me (store credit) without offering a refund as an option, I'd be ripping on them too.
/rant