I do believe that the Gauntlets allow for infinite rerolls so the "1d3+1" solution should work in this case; but if you want a challenge, here it is:
Staff of Fiery Might wrote:After rolling damage, you can reroll a number of damage dice equal to or less than the staff's enhancement bonus. You must keep the new results, and you can't reroll any die more than once.
Three sticky situations:
1- choice to reroll: I can only see this working with separate variables (stored in properties) for each die rolled, using a second macro to let the player reroll.
2- rerolled dice limited by item: so, we're not rerolling specific die results (reroll 1s, supported by the parser) nor rerolling a set number of dice (might work with some tweaking), since the player can choose how many he wants to reroll up to the limit.
3- reroll once: as you have been discussing, reroll and keep presents a completely different challenge.