Yes, no, and maybe. The typical MBTI only reveals to you exactly what you had told it moments before, so it is very accurate. Test results will change, however, because you change over time.
I guess if I'm an INTJ, taking the test the next day, I wouldn't expect to be an ESFP, but... over 10 years, I wouldn't be surprised to see an INTJ get a different 'score'.