Interpersonal cues (body language, facial expressions, voice tone and pitch) are great indicators of what is going on during an interpersonal exchange. Think of these cues as a starting point, a spark, to assess the situation; but, don't draw an iron clad conclusion based exclusively on your individual interpretation of their meaning. A "danger zone" can develop in long term relationships where we think we know the person so well, that we can read their social cues based on past experience and cut short our communication. We stop asking, "what's going on?' because we think we know. The dialogue begins to happen more inside our heads than with the other person, and this can lead to trouble - misunderstandings and miscalculations, even with the best intentions.
I'm not suggesting you routinely question your responses to social cues in the majority of your daily interactions, but in those situations where the speaker's words don't match the message given by their social cues, it's beneficial to stop, look, listen and ask! When what has been said is inconsistent with your interpretation of the cues, ask before you act.
Some of us are naturally more skilled at correctly interpreting social cues, than others. However, all of us can hone our skills and elevate our social intelligence. So, use history, but don't rely on it as the sole source of information to interpret a communication. Situations change, responses change, people change, it's a dynamic process. Remember to add "maybe..." into your internal conversation. Take the conversation out of your head and include the other person in the dialogue. When there are conflicting messages being sent your way, ask for clarification. Don't just rely on your impression and assumptions. Ask the speaker for an explicit request or clarification. Ask, then act; don't react. Think of this skill as Reflective Listening for nonverbal communication. Check that the message you received was the one that the speaker was intending to deliver, and then go along on your merry way.