Hola,
No sé si ya has resuelto este problema. En todo caso te comento que las subconsultas sí están soportadas en la versión 4.2 de MySql. No estoy seguro de cuál sea la causa del error pero de entrada me parece raro utilizar un join junto con una subconsulta. Me parece que debería funcionar así:
Código SQL
[-]
select datatrab.nomtra,datatrab.codtra
from datatrab
where
datatrab.codtra not in (select codtra from registro where fecha='2006-07-04' and left(codtra,1)='O')
// Saludos