Agrega una validación de la cancelación en tu variable @duplicados.
Para solo descartar el documento de Cancelación nuevo, quedaría así:
SET @duplicados =(select NumAtCard from ODLN where DocEntry =@list_of_cols_val_tab_del and CANCELED <> 'C')
Si quieres descartar ambos (el nuevo y el que estás cancelando) sería así:
SET @duplicados =(select NumAtCard from ODLN where DocEntry =@list_of_cols_val_tab_del and CANCELED not in ('C','Y') )
Depende cómo lo necesites...
Saludos,
JC.