Quite possibly. I'm leveling a new toon lately, 46 currently. So the total healing value may have something to do with it. Would certainly explain why it works when I have collected food stuffs from drops as I quest.
Will play around with it some more and see what I find.
OK, played around with it some today, here's what I found.
Bear in mind, this is a 46 rogue, so around 2K HP.
With Lollipop and Candy Bar in bag, even at 10-20% of total health, the items are not consumed. If I then pickup say, Cured Ham etc.. always eats those generic foodstuffs, then goes back to doing nothing when only %based restorative food items are available.
I tried the new release lastnight.
On my 48(now) rogue, no joy. Same results as previously. Still works fine with any other food in my bags, but ignores the % based foodstuffs.
It does work fine on my 60 Druid though.
It must be a function of your health condition and amount the food restores. XAD looks for the best food and best percent food for your current health condition. It then compares the 2 and uses the one that restores the most of the 2. So if you have 1000 health and are down 800 thus needing to heal 800 hp. XAD will find the best normal food ie 875 health restore and say a 75% percent food (750 health) It will then use the normal food because it's higher than the percent food.
I don't use the food much since I'm playing a warlock mostly but I use the water a lot and have no problems using percent based food that restores water. Food and water both use very similar code.