Muy facil, no uses el mismo nombre del campo como alias del campo calculado:
Código PHP:
$sql = "SELECT id, ..., DATE_FORMAT(ult_respuesta,'%d/%m/%Y %H:%i:%s') AS mi_ult_respuesta ";
$sql.= "FROM foro WHERE ... ORDER BY ult_respuesta DESC";
Asi te ordena por el campo de la tabla ult_respuesta que es de tipo fecha y tu usas mi_ult_respuesta para mostrar la fecha en tu html (te obliga a cambiar todos los sitios donde muestras el campo).
Una solucion un poco mas chapucera seria incluir en el select el campo ult_respuesta con un alias distinto y ordenar por ese alias.