Fijate que la primary key de recibo es una llave compuesta por 3 campos. Y estas tratando de referenciar un solo campo de la tabla contiene a la primary key de recibo.
Código SQL:
Ver originalADD CONSTRAINT cf_cod_t
FOREIGN KEY (num_caja,cod_t,codpro)
REFERENCES recibo(num_caja, cod_t, cod_emp)
ON UPDATE CASCADE ON DELETE CASCADE;
ya te va a funcionar. Se entiende por que del error?