Roz, I think you handled him in an extremely dignified and generous (some might say TOO generous) manner.
Although I have to admit, I'm not sure how I would have responded to him, if I had been in your situation.
It's hard to know. How many times, after the fact, do we wish we could have gone back and said/articulated things a lot differently? Knowing me, I probably would have made a dry wisecrack at his expense (mirroring his bigotry back at him)...although would the irony/significance be lost on him? Who knows?