[eluser]xwero[/eluser]
I think you have to see this through a forum members eyes.
When should a post be set to read? I guess we all agree when a user clicks to see the post and when the post is submitted by the member. So these post ids go in a table accompanied by the user id and the post date.
Most forums have an all read link/button. This will cause a change in read date for the user and will remove all posts in the read post ids table which have a lower date than the read date set by the all read link.
I think this is the least data consuming and most accurate solution, not?