Kudos in your honesty in admitting some fault... but, why on earth, especially given your humility about the whole thing, did you fire him in the middle of the day and make him do a "walk of shame?" A senior employee who has done good work in the past deserves a little more respect than that.
Not saying he didn't ned to be let go, but there's various degrees of letting someone go and the "clean out your desk now" approach is by far the most brutal and punitive.
That's what you do to someone caught embezzling money, not a solid individual who just proved not to be a good match for the team.