There are some flyertalker members being too hyperbole by using the term "victim" too liberally and degrading the meaning. As far as I can see it, OP bid for upgrade, credit card transaction rejected so there was no transaction. No transaction means no victim. What felt like abstract idea of opportunity cost of not flying in business also means the OP saved the money used for upgrade. So I wouldn't use the term "victim" in this case.
Algorithms are as good as the IT guys who wrote them. It's not someone intentionally deny the OP's transaction, but more like a computer program provided a false alarm. I don't believe the original programmers intentionally designed to reject transactions from plusgrade just so the OP can't bid for upgrade. So if a program written in best efforts and yet have holes and some flaws - we just call that being human. OP should just let these human error slide and save the serious outrage to more serious human induced errors. If I take every human error so seriously like some of the posters here, I probably would driven mad of this imperfect world.
Another good suggestion to reduce the chances of these rejections is indeed call ahead. End results and outcomes are much more important than whose fault or who's responsible if things don't go my way. I know that business seat upgrade is really really really important, I do my utmost best to ensure my transaction could go through - even if I have to carry the heavier load. It may not be "fair", but I rather work slightly harder if I really want to sit up front.
Fraudulent charges hurts the merchants in the immediate transaction but it is incorrect to think the card member and the consumer have zero negative effect. It costs (in this case AMEX) effort and time to investigate. It costs the card member to do paper work. It costs the merchant to show proof and if they fail take a financial hit. If you step back and look a the whole system through time, you know increasing amount of fraud chews up AMEX customer service staff time, your time, merchant time, money and all of that "loss" is added to the price of the final product.
The fraud algorithm is designed to be safe than sorry. It's double edged sword of sort. I can imagine, in the opposite situation, if AMEX is fast and loose with Plusgrade and I am overseas and someone uses my AMEX for a quick Plusgrade charge (some countries still use old fashion swipe and not PIN). I am positive that my frustration and stress level would have been much higher than the OP. It would be the same of calling AMEX and waiting on hold with the addition it would be long distance AND time difference. Yes may get a card replacement but who knows if the country you're in have AMEX office that can send you a temp card by FEDEX or will Canada's AMEX office send a card to, say, Thailand! Then you have days ahead thinking of the documents to sign swearing the amount is fraudulent and prepare to show more proof if the merchant fights it. You can see.... All of this is multiple times more stressful and more expensive to the whole system than the "safer" route of accidentally denying a legit charge.