Hintergrund ist, dass ich, wenn ich größere Änderungen vorhabe, vorher eine Kopie des Projektverzeichnis anlege, damit ich im Zweifelsfall bequem wieder zum alten Stand der Dinge zurückkommen kann.
Du beschreibst gerade genau die Funktionsweise einer Versionsverwaltung wie Git,
SVN usw.
Da kannst du dir den ganzen Aufwand sparen und hast noch dazu deine Änderungen hinterher sauber geloggt um später noch nachvollziehen zu können was du warum geändert hast.
Alle DCUs aller Projekte werden an einer Stelle abgelegt. Es gibt nur einen Ausgabepfad für Units.
Das Gegenteil wäre in der Regel sinnvoller. Ein
DCU Verzeichnis pro Projekt, Konfiguration und Plattform (mit Platzhaltern im Pfad), damit IFDEFs funktionieren. Denn wenn sich nur eine Compilerdirektive ändert, die
Unit aber nicht, wird diese nicht neu erzeugt. Das gibt dann auf den ersten Blick echt seltsame Fehler.