I don't think it was put there so the kid would run into it, I think it was meant as a blocker so a stranger's kid didn't get sauce all over clothing. Most of the 4 year olds I know usually have enough self awareness to stop running if they see something in front of them. And a menu isn't really a hard object. I'd imagine if she'd sidestepped, the kid would have kept coming with messy little hands.
I do have to wonder if the parents were actually trying to be "nice," though. It actually sounds passive-aggressive from here. They couldn't have missed the fact that their kid was covered in spaghetti - face AND hands. Most parents I know make an effort to wipe their kids up after dinner or teach the children to do it themselves before they leave the table, so encouraging her filthy child to hug you sounds like she knew what she was doing. She definitely couldn't have missed the white dress.
As everyone else has already said, the parents were not only crazy, but incredibly rude to you. I don't understand people who assume that everyone loves their children as much as they do. Would I let my dog jump on anyone and lick them in the face? No, because most people would hate it. Should people let their children hug anyone and everyone? NO!
Your manager was right. *hugs* (And, for the record, I would have done far worse than stick a menu in the kid's face. There would have been "NO DON'T TOUCH ME!" and running away.)