This is intentional behaviour. Basically, there are multiple ways that "read" icons can be implemented, but to make it precise uses a lot of resources, which is infeasible for a (relatively) large forum such as Smogon. The implementation that works for large forums, and hence the one you find on Smogon, marks all threads read when your session ends; i.e. you are inactive for a half hour. Your own new threads will also be considered unread until your session ends.