From my experience with my second child if I let her eat foods with sugar in them, she fills quickly and then is hungry again very quickly. The sugar triggers a full response in her quickly but then it wears off quickly and she's starving again soon.
If I feed her cereal in the morning, you can bet she will be begging me for something to eat in an hour.
On the other hand, if I feed her a scrambled egg and a piece of sausage she isn't hungry for hours. I have found that I have to make the main part of her diet protien with just a little sugar.
I can give her toast with jelly with the above breakfast and it's fine, but she has to eat all of her egg and sausage or she' hungry fast.
If she eats even one hershey kiss or a few chocolate chips I can't get her to eat her dinner an hour later. But then an hour or two after that she's crying because she's hungry.
For her I have to limit her sugar...I try to get her to eat her pancakes with applesauce instead of syrup. I make the pancakes with pumpkin to add some nutrition.
I make the kids grits with butter and salt...no sugar.
I limit cereal to about 1/4 of a cup and just as a snack...and only maybe twice a week.
If I give her a fruit snack pack, it's after she's eaten a good lunch with lots of protien.
My second child is very tiny and very petite. She has a terrible sweet tooth though. I don't have as many problems with the oldest child.
Only other question I would ask would be: is he eating everything you put out for him...or just picking at it and then telling you he's full. If he's just grazing, that's why he's always hungry.
I know the general consensus these days is to let little ones eat very small meals five to six times a day, but I think we are doing our children a huge disservice by allowing that. Once they start first grade, they won't get a mid-morning snack. They will have to eat breakfast, lunch, and maybe a snack when they get home before dinner. That's three meals and a snack. That's pretty much how we will have to eat for the rest of our lives if we work.
My opinion is that we serve them better by training them to eat in that pattern pretty much from the start. If a child is hungry between meals when they are tiny, then give them a healthy snack but one that is very small (they do have tiny tummies after all)....but as they age and get ready for school they need to eat like they will have to eat for the rest of their lives.
I generally put a tablespoon of three or four things on my children's plates. They must try everything on their plate, period. If they don't care for something, they don't have to eat it all...but they know if they don't clean their plate they don't get a treat and they aren't allowed any kind of snack between meals.
My oldest, who is six, has learned to eat everything regardless of whether she likes it or not. She will just clean her plate 90% of the time. She wants that little treat which might be a tiny scoop of icecream, a cookie that we made together, a popsicle in summer, a piece of candy during the holidays...
It's tough and every child is different.
The important thing is trying to get them to eat healthy foods, not use food to medicate themselves when they are sad or bored, and not over-eat just because it tastes good.
Could he be bored? Is he seeking your attention maybe? Does he have lots of games and activities to keep himself busy? We bought our girls a bounce house for the basement this past Christmas (actually grandma did). That has been a great investment. The kids jump in it constantly. Not only are they getting exercise, but it keep them entertained in the winter months when they can't go outside. It's great.
Oh well, let me stop rambling.