Wie Dieter schon schreibt, der "insert ... select" ist ein Masseninsert.
Das Problem hierbei ist wieder, dass der "... where exists ..." vor dem 1. Insert überhaupt durchgeführt wird. D.h., wenn in der Quelle 2 Sätze sind, die beide nicht im Ziel existieren, dass eben beide kopiert werden. Bei einem UNIQUE-Key geht das natürlich in die Hose.
Hier hilft tatsächlich nur ein Programm, dass jeden Satz einzeln per Select-Cursor und Insert kopiert.

Wohl dem, der wieder mindestens V6 hat.
Hier gibt's dann neu den MERGE, mit dem man einen Update/Insert machen kann.

Alterativ kann ich dir nur mein Upload/400 als Excel-AddIn anbieten, dass genau dieses löst.