Si he entendido bien la estructura de la tabla y los datos que contienen, la consulta sería esta:
Código:
select pregunta.tit_for, max(respuesta.fecha_for) fecha
from foros pregunta join foros respuesta on a.cod_for = codpreg_for
where a.tipo=1
order by 2 desc limit 3
No hace falta el outer porque el registro de tipo 1 de la tabla "pregunta", al menos, se cruzará con sigo mismo en "respuesta", con lo que, como mínimo aparecerá su fecha.
Espero que te ayude.
Un saludo.