Sorry ich sehe da aber nichts das gefixt werden müsste. Dein Hauptproblem sind die Unitnamen ohne
Winapi davor. Wenn du deine Version gleich benennst wie die von Delphi, hast du Null Probleme. Das was du machen willst, wende ich schon seit Jahren an und das funktioniert hier tadellos.
Wenn du Delphi units mit deiner eigenen Versionen ersetzen willst, müssen diese den gleichen Namen haben und dann klappt das auch mit dem Search- und Browsepath, sofern deine Verzeichenisse in den Projektoptionen oder in den Umgebungsoptionen an erster Stelle (vor den Delphi libs) in der Liste eingetragen sind. Das anmespace problem das du hier hast, wäre dann auch Geschichte.
Ansonsten benenne deine Units anderst als die von Delphi, damit die Namespaceauflösung diese nicht findet. Also statt gdiplus halt ew_gdiplus oder so.