General comment:
If you don't like it don't use it. Don't want unlimited money? Don't use the convert trick. Don't want unlimited potions? Don't reset the battlefield merchants just to buy them
1)
This wouldn't work either, now you've just 'forced' me to steal the 50k+ charms which I can sell back for somewhere around 40K.
10 steals (doable in act 1) later I have 400k (450k+ in act 1).
With this I buy normal arrows.
I sell the arrows in ammounts that result in 1 merchant being cleaned out of cash then reset the merchants.
The merchants DO NOT remove items you sold to them from their inventory so I add in another bunch of arrows. reset field, etc till I'm out of arrows.
Note that you can buy more arrows from the money you gained.
After running out of arrows I do 1 steal to get all the arrows back.
Rinse and repeat.
It is not exactly unlimited money but using this trick (I never considered the convert arrows one before I checked out this board) I have made several million.
2)
What is a perfect item? How long are you willing to wait? Are you willing to go through it all again in the next act?
3a)
I'm wondering how you play that you need hundreds of potions. With a bit of thought you don't need hundreds of them, not even on hardcore. And at the point where you wish you actually had an unlimited supply you can't access the battlefield.
3b)
I agree bring back the something like the original agility curve to limit usefulness.
My suggestion for problem 1,2 an 3a is do nothing
but if you are going to do something about them then I suggest:
For the problem of the merchants is to get them back on a timer like they were in DD. This would solve your perceived problem of unlimited money. It would also allow people to just wait (and/or sleep) for the merchants to reset.
This doesn't end the unlimited money supply but people are paying for it in a different way: the boring sitting behind the computer waiting for the arrow/charm/potion merchant to reset.
For the waiting for the perfect item cannot be solved without creating the battlefield when the next act gets created and figure out a way to reset merchants in such a way that a player cannot pinpoint when/how the merchants got reset.
If a player finds out when/how a merchant is reset they'll just go on and save just before that point and reload till they have their item.