Addressing the original claim, I also found a larder unnecessary. The servant has never served gruel to my monarch. It's usually some mid-quality meal whose ingredients seem to appear out of thin air. The reception hall comes with it's own larder, but it's even more ackward for a hero to use since they don't "own" it. All interactions have to be done while standing in front of it.
I think the eating commands need to be revamped a little. It would be nice to communicate your intentions ahead of time before cooking. I hate it when I make a meal when the hero is half hungry and they decide to put it down just long enough for someone else to grab it. "Cook and eat" or "cook, place in larder and take a bowl" would be really nice. Now I have to micromanage eating to a level that's unnnecessary, pausing the game as soon as the meal is put on a table and selecting "eat."
I must have unusually independent monarchs. They seem to cook for themselves and, even with a stocked larder, if they cook without me directing them to then they always cook gruel.
I agree their free will should be smarter than that. The other way of looking at this though is to realize that "free will cooking" is an emergency measure on the sim's part to feed themselves. It may also be annoying that if you leave your sim along for five minutes, they decide to cook an amazing meal with all your precious ingredients at an inappropriate time ("Hey! I was saving that").
I think a good compromise would be for "free will cooking" to result in something simple, with the cheapest ingredients possible. Put another way: cook something simple besides gruel to avoid the negative buff. Otherwise, finer meals become part of the player's strategy and should come from them.