@Criosdaidh, so for starters, it IS a bug and bugs need to be reported at the Zendesk. But more importantly, what is happening and how to work with it.
The following applies to PvE, I have never tested in PvP:
If you feed a thrall something that increases the chance to level only ONE stat like steak (+14 Vit) or gruel (+14 Str), they can update that percent chance by eating a new food. For example, you can go back and forth between steak and gruel as many times as you like and it will update as intended. If however, you feed them a food that splits the chance to level between two stats like exquisite stew (+7 Str & +7 Vit) it can no longer be updated until after the thrall has leveled or the effect has worn off. This is why the test you performed on a new thrall seemed to work as intended.
It is a very inconvenient bug but can still be worked with if you know what is going on. Take note @Community, please pass this along to get fixed.