Tu consulta me ayudo mucho, cambie algunas cositas para que quede como necesitaba.
   
Código SQL:
Ver originalSELECT 
         P.nombre paciente, 
         C.codcuenta, 
    C.debe,
        CH.fecha, 
        DATEDIFF(CURDATE(), CH.fecha) dias
FROM 
        cuenta C 
INNER JOIN pacientes P ON P.codpaciente = C.codpaciente
INNER JOIN 
                (SELECT codcuenta, MAX(fecha) fecha, estado, movimiento 
                FROM cuentahistoria 
        WHERE movimiento = 'E' AND estado = 'ALTA'
                GROUP BY codcuenta) CH ON C.codcuenta = CH.codcuenta
WHERE 
       DATEDIFF(CURDATE(), CH.fecha) > 11 AND c.debe > 0
GROUP BY C.codcuenta
ORDER BY dias DESC;
  
  
movimiento = 'E' es la forma de saber si el movimiento es una entrega 
Ahora el tema es: como hago para saber en esta misma consulta si un paciente con cuenta corriente no tiene entregas realizadas... 
Pense  utilizar un OR en datediff del where pero la verdad que no va