I think the girl might have just been too nervous.
I haven't read everything in detail, but I have some advice I can give you.
First of all, don't always focus on your negative sides. What is positive about you? Are you good at something? Are you intelligent? Creative? Nice? Do you see yourself as a good person? I know first hand that it's very hard to focus on this, but reading the topic you come across as a very nice guy, I wouldn't worry about a thing.
Related to this, it's useless to compare yourself to others all the time, you're basically fooling yourself and you should be aware of this. I personally find myself comparing me to others all the time (oh he looks better than I do, his clothes are so nice, etc.), and it's just a waste of time. First of all, it's impossible to view yourself objectively, as if you were another person, you can never know what other people might think of how you look or behave, because you are not another person, and everyone has different tastes. Also, you can't know everything about another person, you can only see what a person shows, and nobody is going to show a lot of negativity. That's why everyone looks happier, more interesting, etc., and by knowing this and reminding yourself of this whenever you feel the need, you'll gradually learn it's useless to compare yourself to others, because it's impossible to properly compare yourself to anyone.
You've also said (like in your post above mine) that you are capable of looking at things rationally. Never stop doing this, and know that that's probably true. Correct yourself in thoughts that are irrational and probably untrue, like that you've done something wrong that made the girl not show up. It was definitely not you, it was her who decided that and her who missed out on you. I know it's hard to do this (again, I've been there), but just know that your assumptions aren't based on anything concrete, and are probably not true. Eventually you'll get a hang of this and do it automatically.
About your issues in social situations; take it step by step. There's no need to rush, and just take small steps out of your comfort zone until you're comfortable, then take another step.
I hope this helps, and best of luck
.