Anne,
I see you have a lot of good advice! Kids are all different in so many ways, but they do know how to push your buttons at times! As parents we worry that they are not getting enough to eat, but your son isn't eating dinner because of any excuse he can find! Do you eat dinner early? Maybe he isn't hungry yet because he has had a snack. My kids are grown and we have grandkids now, but the cycle is still there! I was never the mom who said eat everything on your plate either. My kids did go through the same type of thing though and I would tell them that is fine, this is what is for dinner, you don't want to eat that is okay with me, but there are no snacks or dessert for you tonight. Well it didn't take long before they got the message and when dinner was on the table they ate dinner!!
When it came to the grandkids, my son-in-law grew up in the house where you ate everything on your plate! So he was always upset because they have a son who would sit there for hours and pick at his plate. I told him one day, just let him get up too, but when he comes and tells you he's hungry, tell him he should have ate dinner, sorry you'll have to wait for breakfast! This grandson is a DRAMA KING! Oh he was dying cause he was starving, you know the drill.If he got too out of line, he went to bed! But, it only took a couple times to get the message! No more fighting with him to eat, and he DOES eat, LOL!
My son-in-law did tell me that one time him and a friend stayed with his Grandma. They both wanted happy meals, so she bought them each a happy meal. They actually wanted the toy! WELL, his grandma told them that was fine, they could eat their cheeseburger for breakfast! The next morning they smelled breakfast cooking and imagine their suprise when they got warmed up cheeseburgers while grandma had pancakes! He said they never tried that one again!!
Hope you get things working smoothly soon! Hang in there, and know that your son is normal!