La verdad es que me sorprende que te funcione, habida cuenta que esa consulta contiene al menos un error de sintaxis...
Como sea, yo la plantearías así:
Código PHP:
$query_atrazadas = "SELECT ";
$query_atrazadas .= " hi.id_history, ";
$query_atrazadas .= " hi.id_trabajos, ";
$query_atrazadas .= " hi.observaciones, ";
$query_atrazadas .= " hi.fecha ";
$query_atrazadas .= "FROM history_order hi ";
$query_atrazadas .= " INNER JOIN trabajos tjs ON tjs.id_trabajos = hi.id_trabajos ";
$query_atrazadas .= "WHERE ";
$query_atrazadas .= " tjs.condicion = 2 ";
$query_atrazadas .= " AND Fecha_entrega < '$por_hoy' ";
$query_atrazadas .= " AND NOT tjs.area IN('Ventas', 'Despacho') ";
$query_atrazadas .= " AND (hi.fecha, hi.id_trabajos) IN ";
$query_atrazadas .= " (SELECT MAX(fecha) TER, id_trabajos ";
$query_atrazadas .= " FROM history_order ";
$query_atrazadas .= " GROUP BY id_trabajos) ";
$query_atrazadas .= "ORDER BY tjs.area DESC";
Estoy escribiendola en esa forma para que la sintaxis de la consulta pueda verse. Te recomiendo armar los scripts de un modo que sean más claros y fáciles de leer.
Fuera de esto, para optimizar el resultado sería conveniente que generes un índice sobre la columna "Fecha_entrega", para mejorar un poco la performance.
Consejo de experiencia:
no hagas un Copy+Paste de este código. Verifica bien lo que puse antes de ejecutarlo...