Everyone has the right to set their own boundaries and feel comfortable at work. People should be treated as they would like to be treated. As long as you are being professional and getting the job done, that should be it. If you are not comfortable being in a social situation, particular on non-work times, then say let him know. Tell him firmly but politely that you like to keep your work and personal life separate. Kissing, or any invasion of personal space, should not be allowed. I'd give him a pass in case he does have social issues, but let him know that it's not appropriate and that it could cause problems for him. If he continues to push to a point that you are not comfortable with, it needs to be escalated to HR.

I think you're handling an uncomfortable situation well. I find that if you keep things strictly business, others tend to respond in kind.