Si no estoy mal, en tu consulta inicial estas trocando los campos de una tabla con otra.
Sería así:
Código SQL:
Ver originalSELECT *,
PRO.codigo AS pcod,
CAN.apellido AS comprador,
CAN.nombre AS cnombre,
PRO.id AS idi
FROM
propiedades PRO
INNER JOIN
consignatarios CON
ON CON.id_consignatario=PRO.id
INNER JOIN
consignatarios CAN
ON CAN.id_comprador=PRO.id
INNER JOIN
catastro CAT
ON PRO.id=CAT.id_propiedad
WHERE PRO.estado<>'activo'
Nos cuentas como te va.