Cita: ¿que tiene los foros normalmente?
Depende de qué foro estés hablando. No pongas el caballo adelante del carro. El problema no es el foro (el carro) sino el diseño de la base (el caballo).
Si en tu modelo los mensajes no superarán los 255 caracteres, con un VARCHAR alcanza; si superarán eso pero no los 65.556 caracteres, pero sólo contendrán texto plano, un TEXT podría ser suficiente, si llevan algo mas que texto plano, BLOB. Si llevarán textos de 16 Mb, tendrás que usar MEDIUMBLOB o MEDIUMTEXT....
En definitiva: Planea lo que la base deba soportar con respecto a la aplicación, no empieces a mirar al revés.
Es la base quien debe dar soporte a la aplicación, no al revés. Si lo haces al revés desperdicias capacidades de la aplicación, o te excedes en la base sin darte cuenta.
Leer Manual de Referencia:
11.5. Requisitos de almacenamiento según el tipo de columna Casi todas las respuestas salen de una lectura fina.
Respecto a las fechas, Usa TIMESTAMP o DATETIME, para el caso es más o menos lo mismo en cuanto a resultado (yo prefiero el DATETIME porque es más compatible con muchos lenguajes de programación .Net).