I think the guest was a snowflake. He was asked AHEAD OF TIME, and said nothing. Clearly, it wasn't an allergy, as the OP mentioned that he ate several dishes with cheese, so it was rude of him to mention it at the party - as he'd already been asked.
Like H's husband, I don't eat meat and I never mention it. It's not an allergy, it's a preference, and I've never had a problem - it would be rather PA of me to bring it up at dinner if I'd been asked beforehand and neglected to mention it.
I would also never expect or ask a hostess to make me something else - nor would I, as a hostess, make a separate entree for someone in this situation.