la cosa che non si verifica mai è:
WHERE forum_messaggi.id_forum='$result[id]' AND (forum_risposte.data > $iniziomex OR forum_messaggi.data > '$iniziomex')
nel senso, che se è vero che forum_risposte.data > '$iniziomex' , allora la riga viene giustamente aggiunta al recordset, ma se è vero che forum_messaggi.data > '$iniziomex' , la riga non viene correttamente aggiunta.
Ho provato anche questa soluzione (in base al problema che dicevo prima), ma sembra che non funzioni ugualmente.
WHERE forum_messaggi.id_forum='$result[id]' AND (forum_risposte.data > $iniziomex OR (forum_risposte.id_messaggio = NULL AND forum_messaggi.data > '$iniziomex'))
Tu che dici?