This may sound very hokey but have you ever seen The Dog Whisperer on The National Geographic Channel? His name is Cesar Milan. He also has books and maybe even DVDs. I just went through this so this is going to be a long post :)!
We adopted an English Setter 18 months ago who had never been out of a kennel run for the first year and a half of his life. He was a mess and I got a lot of flack for bringing an unpredictable dog into our home with 3 children (two under 4 yrs. old at the time). He had never been on a leash, had only been in a vehicle a couple times, never been in a house, never seen stairs - you name it, this dog had to learn it. He was VERY terrified of everything - mostly children. I worked with him every day a little bit. I learned alot from the Humane Society classes and the Dog Whisperer and I combined what I thought worked for us. Here's a couple ideas:
A couple of commands that you should work really, really hard on with him are: Sit/Stay and Leave It.
No Free Lunch concept: The dog learns to sit whenever he wants/gets something. It's like a Dog version of "please". That's the sit command. He has to remain in sit until you release him (pick a word and use the same one. We use "OK"). So before receiving any treats, his food, at the door to go out and come in he sits and holds it until you release him.
Alpha concept: He is not pack leader (that sounds weird but go with me here) Your family is the pack and you are in charge. If you are all going out together, he is the last to go through the door. He must walk beside you - not in front of any family members on the leash. When the kids are a little older, they walk him and learn to give him the sit/stay command too.
Also, because you are Alpha, you get to give him things and you get to take his things. Maybe not with food right now but if he has any toys, practice "Leave It". He sits, stays, you release him to have it again.
Counter conditioning: This is a little harder to explain. If your dog is doing something negative, you replace that behavior/experience with something positive - most often food. For us, when we would first walk, if someone approached us, my poor dog would turn tail and run like crazy. Of course, he was on a leash so he would just be frantic. I would bring a baggie of treats (he got tiny bits of cooked chicken thighs) along with us. The second I saw someone coming, I would start giving him treat after treat after treat until they passed. I would ignore the person completely. You could also treat when you are making the sound. My dog is completely unafraid now. He's still not fond of kids but I haven't worked that hard on it - I just tell kids 'no' they can't pet him. He LOVES my children- they can hang on him, put blankies on him - whatever they want and he takes it.
Most of all, you have to stay calm and assume leadership of the situation. If you are nervous when people come to the door or at mealtime, he will assume you are not in charge and he better be.
This sounds silly but you need to come up with a sound that stops him in his tracks. It's not an angry sound, it's just kind of like a little "Mmm Hmmm". Don't use it with the kids - just him. I use a little "CHHH!" Or snapping my fingers does it too. If I snap my fingers a couple of times, no matter where my dog is, he will come and sit in front of me because he knows that sounds means I want his attention. You can't use your dog's name - just the command. They'll tune you out.
Where the sound comes in is you watch the dog for heightened sense of aggression or barking - whatever the problem is and BEFORE they get into crazy mode, you make the sound. Once they are crazy barking, they are out of control and there isn't any use trying to stop them - just put him away because the moment is lost for now. My dog is starting to be quite aggressive at the front door. So, if I know someone is coming and I see him perk up (ears up, chest out, fixed attention, starting to tense up), I make the sound. He snaps out of it for a second, starts going into the tenseness again and I make the sound again. You just keep doing this until he completely relaxes through the whole scene.
I also will tap him firmly on the chest or shoulder if he isn't listening. Never hit a dog - especially one who has been neglected/abused. And, my dog weighs 50 pounds so you will have to tap lighter :). I make my hand like a letter "C" and give him a tap. Then he knows I really mean business because I hardly ever do it.
Teach people - especially children- to ignore your dog completely when they enter your home. I make my dog sit/stay until they are in the house, shoes and coats off. He's a hunting dog so he has to sniff everything so I usually ask people if that's OK but tell them to completely ignore him. I can't believe the number of people who think they can just put their hands on any dog (usually their face) without permission. I won't lie to you, my dog bit two people while he was early in his training. He was a fear biter but we lucked out that they were OK. He never bit a child because I was VERY harsh on him whenever he showed any signs of dominance. If your dog humps a child (we call it a "special hug"), they are showing dominance, not sexual preference :).
I thought all this was pretty harsh at first because I am a Mommy to my dogs but I saw really quickly how this dog was more confident when I was in control.
Most importantly, you must teach the children that they can only touch the dog when you or your husband are nearby - NEVER leave them alone together. It's not worth it. Kids and dogs want to be together but in this case, it's too soon for that.
OK, lots of information but it works. You have to be consistent (I always hate when they say that). My dog would have been one that people thought it was humane to put him out of his misery because he was terrified 24/7. If you came to my home now you would never EVER guess where he started from. The people who rescused him say he won the "doggy lottery". But it took ALOT of work and patience and vigilence.
You can do it - for your family but also for that little guy!