No sé ColdFusion, pero creo que entendí la lógica. La prioridad es actual> historial> diferente. No está claro qué fila es correcta cuando hay dos current filas o solo different filas, entonces marco la fila con el mínimo valid_from En tal caso. Si no le importa, puede omitir este parámetro (eliminar unit_valid_from de row_number order by cláusula):
select units.*,
case when 1 =
row_number() over (
partition by org_id
order by case origin when 'current' then 1 when 'history' then 2 else 3 end,
unit_valid_from ) then 1 else 0 end as is_correct_version
from units