I'm sorry that you are having a hard time, however I'm going to tell you like I'd tell my own sister (and I have had to go through this with her too), You have to love yourself before anyone worth loving will find you attractive. Physical beauty is only a small percentage of attraction. The way you care about yourself will show through. Confident people (truely confident, not just appearing confident) exibit different vibes.
You mentioned that you become needy and people leave. I think that you may come across very confident because of your professional nature. The best thing you can do is become close with yourself. Yes family life can give people issues, however, no one will fix those except you. take time out and go to the library or dinner by yourself and just be comfortable with yourself. Write a list of things about yourself you love. Then write one thing you do not like that you want to change. Work on that thing until it is fixed to your liking. Seek a counselor or pastor if you need a shoulder. Using the shoulder of new friends or new lovers will only scare them off. People are scary, (everyone) and others warm up slowly to others differences.
Stop placing the blame on those who have treated you wrong. Don't place blame because its connected to inner hate and it will ruin you. Forgive them, and love yourself and move on. No one is perfect, everyone has issues, but how you handle them will be the difference.