Seems to be several issues here...
1) From a legal basis, nobody would "owe" anything. Mistakes were corrected, and travel plans continued as contracted.
2) From a responsibility basis, it appears that UA did everything they could. If a travel agent issues tickets against a DocID that appears as stolen in the Res system, UA cannot honor it. They did the right thing leaving it up to AmEx (although they could have handled it more politely, it seems).
3) From a responsiveness basis, it appears that AmEx has a lot to learn, but they still ensured that you reached your destination as contracted and in fact as scheduled. However this is the one area where you can speak not only with your words, but with your dollars. Make sure they know that behaviour such as theirs results in customers finding other agencies. One or two customers does not make a difference to any agency. But if each of us makes sure companies know that we vote with our dollars, eventually they get the message that customer service comes first.
As I read through many of the posts on FT, there's a common theme of "How do I get something for XXX?" As much as I'm the first one in line to get compensation however I can, I also (because of the industry I'm in) tend to be the first one to point out the specific customer service shortcomings that drove me to the request, and suggest resolutions that would not only make up for what happened, but help the company serve me better in the future.
Now if you'll excuse me, I think I'd better jump down off of this soap box before it collapses...