Hey,
The "new posts" feature is (I believe) based on the date of the newest post you looked at. If you didn't look at certain posts when you return, if they happen to be older than the newest post you looked at, they will be marked as "read" even if you read them or not.
Now I may be totally off on this, but that's my guess on how it works.
http://www.phpbb.com will have more information.
Phade.