Ok, first things first.. You are developing an inferiority complex and that is the worst part of it all. I'm not psychologist but girlie, don't do this to yourself or your bf. If he's sticking around for all this time, obviously he's not in it for sex. Do NOT tell him that he'd be better off with someone else because they'll be able to have sex. If you break up with him "for his sake", it'll be the stupidest thing you will ever do and you'll regret it forever. Do not feel guilty or bad for him because he knows exactly what the situation is. I admire the guy for sticking around because god knows not many would. Most guys don't give a fuck about anything, and only care that you sleep with them. So do yourself a favor, keep this guy around and you'll get through the hard times together.