Your mother sounds like a saint. Seems like she has put up with a lot. You really do need to get some help. There is some good advice here, however blaming you is not going to help. You need to understand the dynamics of your relationship with your Mom, she sounds like she is trying to help, but also may be at the end of her rope. She probably thought at this point in life she would be having a little "me" time, and that she and your dad (is he around?) would be doing some reconnecting. This is the perspective of a grandma, I love my grandchildren very much, but I do like them to go home so I can regenerate for the next time. Try looking at this from your mom's perspective. Telling a 30 year old who lives in your home that she has to have her room clean should never happen, because it should be done without her ever saying a word. Your son has a rough road to go because of some mistakes you have made. They are in the past, look forward and fix it.
Yes, he does need a lot of your time. Its tough having a 2 year old to compete with. One way to give him more time is to start buying a series of books that are meant to be read to kids from 4 to 7. I would start with the "hands are not for hitting," from the Best Behavior series and then add more. The books are quite cheap and can be found here - http://www.amazon.com/Hands-Hitting-Ages-Best-Behavior/dp/1575420775
Make a special time at night to read the book just to him.
I bet your mom would even buy some for you and him.
Another book I highly recommend is "SOS Help for Parents," by Lynn Clark. It will help you a lot with the discipline problems.
I coul'n't have put it better than adgal has just written in her post .. I totally agree with every word she has written here, your son is only 5 year old and if he is this violent he certainly needs some expert help and you really could use some parenting help .Children are born we mold and make them into what they become ., I hope you take to heart the good words spoken here and do the best for your little boy ..good luck
Well, I want to say something rather bluntly. You may have been very sheltered and spoiled growing up, but you cannot use that as an excuse for anything. I'm not sure why you mentioned that part at all. You are a mom now, and you have to do whatever it is you need to do to take care of those kids.
First off, you need to learn to be independant. You are 30 years old. You need to get your own place with your children. This has to be confusing for them...who is mommy? Know what I mean? Grandma should be grandma...visits, lots of time spent, but mommy needs to be you. After that I would look further into therapy for your son. It sounds like a lot has happened in his short life and I am no expert, but I am betting there are some serious abandonment issues happening here, and he is probably angry. Real dad not part of the picture. The man he accepted as his father no longer part of the picture. Mom leaves him for this man which means this man was more important to mom then he was. He is angry and honestly, I can't blame him. And it sounds like now he is seeing the two women in his life (you and his mom) fighting and I'm sure that is very stressful for him. He probably feels divided loyalties, and a little boy should not be put through that. He needs your time, your attention and your love. You need to fight for this kid. If he didn't do well the first time in therapy, find him another therapist.
Stop relying on your mother and for goodness sake, skip future relationships until you have repaired the one with your child. I think you probably could use therapy yourself. To read your post it does come across as though you are blaming your mother and making excuses for your past behaviour. I am not judging you, Lord knows I am far from perfect and have done many things in the past I wish I hadn't. But part of growing up is accepting responsibility for our own actions, and doing what we have to do to correct them.
I'm sorry if I sound harsh, I don't mean to be. I am however being honest. I would love to see this work out and you can do it. It is completely up to you. I do wish you all the best.