The Good Approach - Subtle hints were the best way
You mentioned subtle clues, but really that is the best approach. So, they inspected the well and the door, and you already said there is nothing different. Maybe there is something on the wall that hints, perhaps scrawled by previous failed adventurers "Generosity is to be praised." "Each only gets one." Etc.
If they really don't want to bash the door in, maybe they should backtrack get an NPC minion and have the minion make the needed wish.
If you want to be even more subtle, they notice something about the layout of the whole room that reminds the bard/wizard/cleric of some ancient Rune and they should go back to talk to an expert who can then subtly (or not so subtly) hint about it talking about the Rune referring to self sacrafice or something like that.
Speaking of Bards/Clerics even PC Bards and Clerics make a decent way to deliver hints. The Bard remembers some lore suddenly (especially if he hasn't made that check yet), for a Cleric the deity might literally give them a bolt of inspiration. I think this is a distinctly inferior approach, but it may be better than the next options I list.
Slightly Less Good - OOC hints
There is nothing wrong with giving the occassional oblique out of character hint. "Sometimes you just need to take the risk of a trap being there."
Deus Ex Makes it Go Away
This is substantially less good, but you can always make the problem almost literally disappear. A massive earthquake destroys the door, and collapses the well.
Retcon
This is a last resort, but its not necessarily a game breaker to just say openly, "This didn't go the way I had planned, why don't we try this scene again." And if they haven't figured it out, drop some further hints this time around.
1. How do I discourage players using the knowledge that they have a low roll to influence character decisions?
Be up front and honest with them about not Meta gaming. It is meta-gaming using the knowledge of a low roll to influence your in-character actions/reactions/thoughts/etc. I usually say just what you said, something along the lines of, "You think she seems to be telling the truth." If my player then goes on to think she is lying, I do one of two things:
- Either gently remind them, "Your character thinks she is telling the truth and would not remain suspicious."
- Or, allow them to roll insight again, but on a different bit of information hoping for a higher roll so it's definitive that the NPC is truthful (or not).
The first option is always better, and usually in the long run makes for more engaging role playing when players can accept the cards their characters have been given. One major tip, when they roll low and you tell them they believe the NPC, try not to act devious or suspicious, your tone and demeanor can influence player thoughts tremendously.
2. Should I, and if so how, tell my players if somebody is actually telling the truth even if they have a very low roll to avoid them thinking they are being lied to and their characters are too stupid to figure it out?
This is a bit tougher... first I refer you back to the first part of my answer to the first question. Players acting on the knowledge of low or high rolls in a way that is discordant with the information you give them is Meta gaming. So, if the 2 options above don't work, then you have to ask yourself one question.
"How will having this player remain suspicious of the information affect the narrative?"
This situation is good for on the fly story development!
- The player remains suspicious, doesn't heed the warnings of the NPC and their actions either result in an extremely challenging fight, or worse may even lead to the death of the NPC. This could cause the player to be more careful in the future or become deeply regretful of his stubbornness.
- The player remains suspicious but the NPC pleads with them, "I can tell you don't believe me, and if I were you I might not believe someone like me either... but please good sir knight, proceed with caution!" This could also lead to the outcomes in the previous example if the Player still ignores the warning. Or they may uncover, incrementally, that the NPC was truthful, after which they might go back, apologize and make a new friend.
If the story really is better served with the character believing 100% that the NPC is not lying and there is no in game way to work around the suspicious nature of the player... as a last resort (and I personally would not do this), just tell them out of character that the NPC is being truthful. I can't think of a reason that you would need to have the character believing that the NPC was honest given the ad-libbed scenarios above, but if you find it imperative, it's your call to make.
...and nothing says the player won't suspect you of lying just because you are the DM. ;) Some players will always be suspicious no matter what as they will always believe the DM is "out to get them".
(And to quote another answer here after reading the stuff posted as I was typing this novel length answer... do be up front with your players that anything you say as a DM to the player will always be the truth. Lies might come from NPCs, but never the DM. And always make sure you are consistent in upholding these promises to your players.)
Best Answer
Define the Consequeces of Success and Failure Up Front
This answer addresses a very similar question. I think everything I said there applies equally here. In short: if you explicitly define the consequences of success and failure, players are less likely to misunderstand the information and run off doing some nonsense.
Let It Ride
In your case, there's one other trick I would add, shamelessly lifted from the RPG Burning Wheel:
In other words, say you roll to search a room for stuff. You get an 8. That's it. That's your result for searching the room for stuff. If you retry the action, you don't reroll. If you try a new action, too bad, you're not gonna gain anything more. Likewise, if I roll 15 to climb a cliff, that applies to the whole climb; the GM can't ask me to reroll every 10 feet or anything stupid like that.
Let It Ride makes sure that rolls actually matter — you can't just turn a round an immediately invalidate something with another roll. Beyond that, it keeps the game moving forward. When we know that each and every result will stand, we can all focus on moving forward incorporating the result.
If you can't abide by a success or failure outcome, then don't put it on the table at all. Manufacturing excuses to reroll until you get the results you want is a sign that you need to rethink how you're scoping consequences. It's possible you shouldn't be asking for a roll at all.
If you want a situation to be a series of rolls, break it up into discrete tasks instead of just rolling amorphously a couple of times and then handwaving that, okay, now this one counts.
Call Them Out
If your players are constantly asking for rerolls, try just calling them out on their weaseling. Like, just straight-up say, "You're trying to weasel out of the outcome we already rolled for. Let's move on."
Why Are Your Rolling for "There is Nothing Here" Anyway?
If there's nothing to find, what's the roll about, anyway?
Occasionally there's some payoff to roll-to-find-out-if-you-know-that-nothing-is-here as a form of information-hiding, but from what I've seen, a lot of GM advice defaults to "Roll for everything just to create fake tension!" way, way too much.
In the example given, I'd only ask for a roll if I could frame it as something like one of these:
"If you succeed, you find everything of value in this room — secret passages, treasure, clues, everything." That way the PCs can discover something for their efforts even if it's not what they necessarily intended to find.
"Okay, so, time is of the essence, right? If you succeed, you find out right away whether there's a trap door here. If you fail, it'd take a long time to search properly." Now the roll is all about "What is the cost of the information you want?" I do this only when there is already pretty obvious pressure of some sort; otherwise you're just kinda manufacturing complications that don't really matter.
Otherwise I'd just tell 'em. There's very little down side to doing so. What's the point of trying to maintain a feeling of uncertainty here, unless you're trying to waste time on purpose?