TTWK - you're right, you can be annoyed that the money wasn't spent the way you intended it, but, only if you didn't make your intentions clear.
For example, if you said to Child A (I'm calling her Annie) something like this: "Annie, this is £20 is for you to buy a toy with." and then Annie go ahead buys £20 of chocolate, fair enough, I'd be upset too. (But not overly so.)
But, if I said "Annie, This £20 is for you to spend on whatever you like." I don't think it's reasonable to then get upset about how she chooses to spend that money.
Also, I feel that if it's that much of a problem about how gifts of money are spent, then personally, I wouldn't give Annie the money on its own. I would possibly say something like "Annie, Let's go to the toy shop and get a present for you, you can spend up to £20" or "Here's a £20 Toy Shop Voucher"
However, if we go to the Toy Shop with the money/voucher and Annie then choose to spend some of that money/voucher on a toy for another person (let's say, her best friend Bobby), I still wouldn't get upset. I might suggest that we buy a gift for Bobby as well, and Annie can still have a £20 gift. But if Annie said she still wanted to use that original £20 to buy Bobby a gift, and use the rest on her. I still couldn't get upset about it.