A veces es mejor usar algún software con parseo de sintaxis y escribir la sentencia en forma estructurada. De ese modo los errores se vuelven visibles. To te recomiendo usar MySQL Workbench, que puedes descargar de la página oficial.
En tu caso tenías un ON mal puesto en el INNER JOIN, y además mal cerrados los últimos paréntesis (muchos de los cuales eran innecesarios).
Quedaría mas o menos así:
Código MySQL:
Ver original ot.ordtracodigo,
ot.ordtrafecgen,
ot.plantacodigo,
ot.sistemcodigo,
ot.equipocodigo,
ot.componcodigo,
ot.tipmancodigo,
ot.ordtradescri,
ot.ordtrafecini,
ot.ordtrahorini,
ot.ordtrafecfin,
ot.ordtrahorfin,
ta.usuacodi,
ta.tiptracodigo,
ta.tareacodigo,
ta.usutarcodigo,
ta.prioricodigo,
tb.otestacodigo,
ot.tipfalcodigo,
subzona.subzoncodigo,
zona.zonacodigo,
ot.solsercodigo
tareot.ordtracodigo,
tareot.otestacodigo
ordtracodigo,
MAX(tareotsecuen
) AS tareotsecuen
ON tareot.ordtracodigo
= ta1.ordtracodigo
AND tareot.tareotsecuen
= ta1.tareotsecuen
tareot.ordtracodigo,
usuariotareot.usuacodi,
tareot.tareacodigo,
usuariotareot.usutarcodigo,
tareot.tiptracodigo,
tareot.prioricodigo
tareot
INNER JOIN usuariotareot
ON tareot.tareotcodigo
= usuariotareot.tareotcodigo
(tareot.tareotsecuen
= '0' AND usuariotareot.usutarlider
= '1') ) AS ta
ON tb.ordtracodigo
= ta.ordtracodigo
INNER JOIN ot
ON ta.ordtracodigo
= ot.ordtracodigo
AND sistema.sistemcodigo
= ot.sistemcodigo
INNER JOIN subzona
ON sistema.subzoncodigo
= subzona.subzoncodigo
INNER JOIN zona
ON subzona.zonacodigo
= zona.zonacodigo
)
);