With 2.0.x I had a system which tracked the existence of new posts since your last visit in each and every forum. On smaller boards with few simultaneous users and relatively low post counts that system actually works quite well. However, when you scale that up it becomes a real resource hog.
Therefore I came up with the system in place here. Whereby mark read information is maintained on a per forum basis only. To me it's no longer a big deal. I too sometimes think "Didn't I read all unread posts in that forum?" and need to revisit said forum to see that I did in fact read everything ... it takes all of 10 seconds IMHO.
I should add that not long after I committed the code that does all this to CVS a least one other major board deployed a "similar" system in their next release ... so I guess they liked the idea too
Will it change? No, I'm afraid it won't ... so there are really two choices, get used to it (not a terribly hard thing to do IMHO) or install a Mod (should one be written) which reproduces the funtionality of 2.0.x (more than likely at the same cost in resources).
With subforums, it's even worse. All subforums may be marked unread, though they're all really read. You'll have to click the "mark forums read" for the first subforum, go back to the same page and do the same for the second, third, etc. (a "mark subforums read" link would help ).
If you posted a reply yourself and directly go back to the index, it's also marked unread. Ofcourse it works as intended, but it doesn't make sence to me..
Maybe an "synch marked topics" link on the index would help, after clicking it all the marking is updated so you can see which forums are really unread. Could be a nice mod or feature for 3.2.