Someone should have stepped on the BIL
It seems to me that the BIL has a big mouth and needs someone to tell him that. What a three year old does at someone else's house just isn't his business. Plain and simple.
I agree that three year old kiddies are just that. Three. They are learning skills - and trying to get on with their new lives. His parents should have prepared him for the eating cake scene and the party, etc. before the party. Even then, there is no guarantee the child will act correctly. Kids are kids at age three. I like the well behaved ones, I must admit. They do understand at three, a bit limited, and each time you change up the situation, it confuses them. Give him a couple of years, with good parenting, and he'll be fine. Also, all children are not created equal. Some learn to be socially appropriate much more quickly than others.
I would not invite BIL to any event unless his wife tells him how to behave in order to be a guest. The little boy will be fine.