Not sure why people seem to be surprised that an NBME might underpredict their real score. People usually take these things before they take the real thing, so that they have an opportunity to assess their progress and improve upon their performance... so wouldn't you expect to have a lower score than the real thing? The purpose of the NBME is to give you a snapshot of your current knowledge base, not your knowledge in 1, 2, or 3 weeks. Sometimes it is really that second time through the material which really solidifies your knowledge in weaker subjects that can allow big jumps.
While the style of the questions can change from from the older NBMEs to the newer, you're still being graded relative to thousands of other peers who have taken the thing. That being said, people need to realize that it isn't perfect. Statistically there are far fewer questions in the NBME than there are in the real thing. You should expect a certain amount of variance. If you're desperate for a more accurate snapshot, take two consecutive nbmes and average your two scores.
I took an NBME at 0 weeks and 4 weeks. I thought it perfectly predicted the trend in my scores, correlating well with my question bank performances up until the real thing.