The thing is, using an event on the counter was okay in old engines that didn't have mouse support, because everything was done with the keyboard. You interacted with things based on where you stood, not where they stood. Though setting a tile to a counter and putting the event on the shopkeeper still worked, so the event on the counter was never really necessary anyway (unless you wanted to put something on the counter by using an event rather than mapping - that was the only time, at least from XP onwards, that you NEEDED to put the shop processing on an event on the counter).
After the introduction of mouse control, and now with touch control, people want to interact with the shopkeeper, not with the counter. If you use an event on the counter, they would have to click or tap on the counter, not on the shopkeeper. And that just doesn't make sense - it isn't intuitive.
Having the store on the shopkeeper event itself means they can walk up and down the counter and you can interact with them anywhere (eg - bartender).
A stall operator might walk around their stall rearranging items so they present well after some are removed/purchased.
Fantasy RPGs set in a medieval era would not likely have stores the likes of Walmart where a cashier stands in one place the whole time.
If you want to have a blacksmith working behind an anvil, you can still put the shop processing on the blacksmith himself, and allow the player to walk around to him (an anvil would only stop approach from one side, not the other three), and yes, you can mark the anvil as a counter in the database, and you would be able to talk to him while you are separated by it.