Not sure about how simple the first one is. That's the kind of thing that's usually a design decision up front. Adding it in later, particularly on a system that's been heavily modified from it's original source, is usually difficult, lot of code goes into obscure places. Great feature for the .net version though. Encapsulation would allow you to have has many lecels within levels as you'd want.
I seem to recall something about tracking who's browsing a particular forum/thread as being a performance issue. I usualy hit the active topics and open up 20/30 windows from there instead of working forum to forum, thread to thread.. Would take a lot of db calls and cookie management. Don't see access holding up under any sort of load in those conditions.
Can't really speak to the other two points, but sounds good to me.