What does "Don't take my words at face value" mean?
It's a metaphor. The metaphor has long since passed into regular speech, so most people aren't conscious of making it, but it's there nonetheless.
The face value of a bank note (or coin, postage stamp, etc.) is the value printed on the item. A five-dollar bill claims to be worth five dollars, so that's its face value. In other words, the face value of something is its apparent worth; its real value may not be the same as its face value.
Applying this term to words, if you take someone's words at face value, you're not questioning their apparent worth. You're assuming that the words are worth what they appear to be. As a result, you don't question them or examine them closely to find any flaws, inaccuracies, or untruthful statements.
If you don't take their words at face value, the opposite is true. You haven't assumed their words are correct or truthful. You might question them or examine them closely to find flaws, inaccuracies, or untruthful statements.
Sometimes this phrase is used to imply someone might be wrong; in other cases, this phrase is used to imply deceit or trickery. Which implication is appropriate probably depends on context.
Let's look at your context:
Don't take my words at face value.
If I tell you not to take my words at face value, I'm probably telling you I might be wrong, not that I might be tricking you. Why? Because if I were trying to trick you, I probably wouldn't give you any warning!
"Don't take my words at face value" may mean "Don't blindly accept everything I say as fact." Someone might say this if they are unsure that what they are saying is completely true; they may just be guessing.
The phrase may also be used to encourage someone to conduct their own research to verify the validity of the information rather than just accepting it as fact, even if the person who says it knows that they are right.
Additionally, it may mean to look for insights that are not stated explicitly.
It's a tricky little idiom, isn't it? What it means is that what something might appear to mean - it's "face value" - is not exactly what it may actually mean.
For instance, if someone says, "You look tired, are you sick?" The "face value" is not assuming a hidden meaning, and so the statement would be assumed to mean "the person thinks I look ill and they are genuinely concerned". But sometimes people are being passive-agressive, and what might appear to be concern is intended as an insult or an attempt to make you feel insecure. To not take someone's words at face value is to look deeper for hidden meanings or veiled intent.
This is closely related to "reading between the lines", which means to look for a hidden meaning.
Edit: Note that this phrase is often intended to mean something slightly different, because not everyone interprets it the same way!
It means that the words the person is using don't match what would be the obvious meaning implied. The person is probably exaggerating, or is being sarcastic.
For example, if you did something that was clearly inappropriate (such as accidentally insulting someone), and I told you, "Nice one," my intended meaning is actually the exact opposite of the obvious meaning. I would not be giving approval for what you just did, but rather would be giving disapproval.