H.W.
It sounds like there might be a moment where you could gently give empathy *instead* of trying to change his emotions. Think about it, if you were upset about something, disappointed and sad that you couldn't do something~ would you want someone to just change the subject and try to make you feel better by being silly while you were upset? Would you feel understood? I would try taking a moment to say "Hey, I know you wanted X and I see you are upset. Sometimes it's hard for me to wait for things too." and THEN move along to the great idea of 'the thing you say yes to'. You are really close, in my opinion, I just know that we can't change their attitude (at this age) about being disappointed by banishing him, right?:)
It's okay to also just let him be mad. I wouldn't have taken a child on the horse when they were pissed off. I would have just let them be all done, gone out to the car and said, "well, you didn't say you wanted to go on, so we'll go another time." Let him have his emotions-- give him context for it, but do let him be allowed to feel upset. You don't need to fix it every single time.