A., it's okay to disagree w/ your MIL or your own parents for that matter, just be careful about telling someone that they are wrong about anything, it hurts feelings and makes them defensive. You don't want to have a strained relationship w/ family members. Just say "thanks for your suggestion" and then do what you think is right. Also, don't ever get into a discipline "discussion" in the presence of the child or worst of all during the heat of the moment when dealing w/ the child's behavior.
Find what is right for you. Nonviolent, non-yelling is always the better way to go but, it's true, we are all human and sometimes the way we were raised comes out of us and we end up yelling or spanking. Don't worry. As long as you are not abusive, your child will forgive and forget, the hardest part is forgiving yourself.
I suggest you take a parenting class. Check with your church, nearby school, even hospitals to see if they can direct you to some. I have attended some that were taught through the Precious Minds, New Connections Program. Try looking them up online or as I mentioned before, call your church, school, or hospital. Also, try the library, and even CPS, they may know where to direct you. And make sure that you and your husband attend together. You will learn so much. You will learn from the teacher's resources as well as from other parents in the class. Together, you and your husband will come to an understanding of why children do what they do and also of the different ways of responding to different personalities.
You sound like you are already on the right track. Look into those classes and good luck to you.
L.