These are the 3 options I can choose from.
1) Inactivity/Cookie Based - once a user has been inactive for a certain amount of time, all threads and forums are considered read.
2) Database (no automatic forum marking) - this option uses the database to store thread and forum read times. This allows accurate read markers to be kept indefinitely. However, in order for a forum to be marked read when all threads are read, the user must view the list of threads for that forum. This option is more space and processor intensive than inactivity-based marking.
3) Database (automatic forum marking) - this option is the same as a previous option, but forums are automatically marked as read when the last new thread is read. This is the most usable option for end users, but most processor intensive.
It was originally set to 1 by default. Yesterday, I set it to 3. Setting it to 3 basically marks things unread because it needs to start from scratch marking times in the database, but that should give us the most accuracy moving forward because it wouldn't be affected by clearing cookies, etc. So we can either take the hit now and move forward accurately or we can change it back (though changing it back will mark all your posts read if you've cleared your cookies I believe).
It doesn't make a difference to me so I will wait for your feedback. I only changed this in the first place to try to accommodate your requests and make the settings more accurate.
I haven't changed anything with invisible mode but my guess is that automatically changed with this setting... I'll need to look into it.