Sorta. There are two main ways vBulletin can handle the "read/unread" status of threads. It can either store that information in our database, which means it's persisted for-basically-ever, and that's how we had it up until a few days ago. The other method is storing them in sessions/cookies, which only persist as long as your session is kept alive. aka, if you leave PC for longer than 15 minutes, everything becomes marked as if you've "read" it already.
We switched because the database method stores a **** ton of data and the forums were hella slow this week, so we did it to lighten that load a little. Every page load would check that database table for read/unread, for every user.
I'm working on a better solution that will be mostly-persistent and also no stress on the database, so we get the best of both words. 8) But as usual it's Coming Soon.