muchas gracias a todos por responder.
Logré solucionarlo, dejo la solución si es que alguien más tiene el mismo problema:
Código MySQL:
Ver originalc.fecha,
c.idcomprobante,
concat(p.apellidos
, ' ', p.nombres
), coalesce(if(el.bi
='1', 'NORMAL', el.diagnostico
), '-') as DiagnoElectro
left join electrocardiograma e
on c.idcomprobante
=e.idcomprobante
left join elec_detalle el
on e.idelectrocardiograma
= el.idelectrocardiograma
and el.fecha_audita
=(select max(fecha_audita
) from elec_detalle el
where e.idelectrocardiograma
= el.idelectrocardiograma
) where (c.fecha
<='2015-01-31' and c.fecha
>='2015-01-01' and c.estado
='1')
para solucionar el último error que comenté, simplemente agregué otro "and" con la fecha de electrocardiograma.