I’m fairly certain that, because pet battles have always been account level content, that you can only get rewards like charms once per account per week, or day, or however often the WQ respawns or trainer resets.
Not sure which world quest your friend did, but I just sent several alts to do the Rock Collector world quest in Isle of Dorn and each one got the x19 charms reward from completing it.
The Pet Trainers, like working the Pandaria circuit, are indeed once a day per Battle.net account. But the WQ ones aren’t account level. I regularly work the WQs in DF and TWW with multiple alts and we all get the rewards.
I should’ve mentioned in my original post I tried to figure out why my friend was getting this problem. Oh and qualified that both of us doing them with Warmode off.
I tested by doing the exact same WQ her 80 Druid had done and gotten charms. i did it with an 80 Druid and got charms from it. Then I tried it with an 80 Mage and got charms from it. She did (on same realm as my mage) with an 80 Priest. No charms.
I’ve had that happen randomly. I won the fight, getting xp for the characters but it said I lost the battle on the WQ quest log. Even doing it again and winning didn’t register. I think it randomly triggered when I logged on that same character later on and gave the charms.