It's difficult to do in the heat of the moment, but the right thing to do would have been to:
1. Document the name of the GA
2. Request a Service Director (document the name), request again hotel/meal accommodation and IDB compensation
3. If the above fails, pay for expenses out of pocket
4. Contact Customer Care or sue the airline for damages
I have a feeling that if it got to #2, he would've been taken care of, and the GA would have gotten their hand slapped. The GA should not have IDBed someone on an award ticket precisely for this situation. VDBs on award tickets happen all the time, but those are willing parties. IDBs cause problems on free or award tickets, which is why UA isn't supposed to do it.
Maybe with $600 in travel credits, the customer would have been happier. I'm certain a SD could have authorized that on the spot (as well as hotel/meal vouchers).
Sounds like a poorly trained GA. Still worth writing in to recoup expenses, but your argument for IDB compensation became very weak the minute he signed that form.