My first thought on this is that if he doesn't like what he's served, well, it sucks to be him. If you're a guest in someone else's house, it's only polite to eat what you're served, unless you can't due to health reasons (like you're lactose intolerant, or you're deathly allergic to peanuts). You don't have to eat it all, just make a token effort to show your appreciation. If you don't like it, you can always go out for take-out later on. (Or, in the case of my family, if we didn't like what was on the table we could make ourselves something else, but Mom wasn't making four different meals just to appease everybody!)
Since in theory you actually like this person, I'd either make something you know he'll like (or make the red wine pasta, which sounds great, and just don't tell him what's in it -- if he doesn't like it, feign surprise ... you know, "better to beg forgiveness than ask permission" and all that
), or go out to a restaurant where everyone can have what they like.
Really, he breaks two cardinal rules in my family: 1) You don't get your own special meal made for you, you eat what's put in front of you; and 2) You can't say you don't like something if you haven't tasted it yet. If he were my guest and my FI's best friend, I'd tell him to suck it up, buttercup!