I'll try adding an actual system that keeps track of orders with game logic, but ultimately it's difficult to prevent this kind of manipulation.
I'm concerned about how this will effect players attempting to haggle, buy, and sell outside the Trade option. I already have trouble getting Aldric to reliably give me a custom named item or gold after I've given him an item. I make a save whenever I try, just in case he rips me off by RPing that he gave me what I asked for, but doesn't follow through with an actual item or gold. Hopefully this make him more reliable to give first and the player has to follow through or he calls the guard and maybe a negative rumor and some lost relationship with everyone.
Also, can't players just ask other NPCs for free items? I once was asking NPCs for any nails they were willing to part with. I had a good RP reason as a builder and Aldric out of stock and several gave me some for free. It seems you just need to roleplay a different narrative to get free stuff from other NPCs. And at that point your playing the game right by engaging with the AI, so I don't see the problem as long as it's not asking for 100 Scrolls of (whatever) so you can sell them all.