Rockex... como ves, la consulta está bien.
Como consejo, imprime el valor de las variables, y mira que está pasando. Asegurate que estés concatenando bien el codigo java con código mysql.
Por ultimo prueba esto, pero ya se sale del tema
Bases de Datos y otra respuesta nos puede costar un llamado de atención.
Código java:
Ver originalvariable="select *from registro compra where cod_producto ="+jtf_codP.getText()+" and fecha_emision BETWEEN STR_TO_DATE("+FechaD+",'%d/%m/%Y') AND STR_TO_DATE("+FechaH+",'%d/%m/%Y')+";";
Un saludo.