Hola, pues veo que mi tema dio mucho de que hablar, les cuento que utilice un poco de todo para solucionar el problema. Utilice mas o menos los metodos que sugirieron GatorV y Hidek1.
Lo que hice fue agregar un campo para guardar los datos de la ultima fecha activo, y crear una tabla para guardar el id del usuario y el id del tema. Entonces cada que se conecta una persona e ingresa al foro, al momento comparo la fecha actual con la ultima fecha activo, luego guardo los mensajes que aparezcan en ese rango de fecha en la tabla, y por medio de un script verifico los mensajes que estan en la tabla y los muestro como no leidos. Cuando la persona ingresa al tema para leer el mensaje, elimino los datos del mensaje en la tabla, y de esa forma cuando la persona vaya a la pagina principal, el script al hacer la comparacion de fechas y verificar la tabla los mensajes, este aparecerá como leido.
De esta forma no se satura la base de datos, pues unicamente se guardan y mantienen los datos de las personas que visitan el foro regularmente, y no los datos de todos los miembros; y al mismo tiempo se va vaciando la tabla conforme el usuario va leyendo.
Muchas gracias por sus comentarios, en verdad que me ayudaron mucho a resolver este dilema.