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.)