@webald: Es ist der Klon des Live-Shops, also Dateien und DB-Dump. Ich habe lediglich die Config-Datei angepasst, damit der Shop lokal funktioniert.
Den Dateivergleich mit einer neuen 2.0.4.2. Installation habe ich gemacht. Dabei sind mir ja die Unterschiede in der checkout_success.php aufgefallen. Laut Tomcraft ist das aber nicht die Ursache des Problems.
[...]
In der Tabelle orders wird die customers_id nicht hochgezählt, das passiert nur in der Tabelle customers automatisch beim Anlegen eines neuen Datensatzes.
[...]
Ja, das ist mir bewusst. Vielleicht habe ich mich da blöd ausgedrückt.
[...]
Hängt da noch eine Wawi mit dran, die reinpfuschen könnte? Wo wird die Session gespeichert?
Nein, keine Wawi. Die Session wird in der Datenbank gespeichert.
Was mir noch aufgefallen ist:
Ich habe - wie gesagt - den Shop (Dateien und DB) lokal zum testen installiert. Dort habe ich dann die Zuweisungen der customers_id in der orders-Tabelle und der customers_id in der customers-Tabelle soweit alle korrigiert.
Wenn ich jetzt im lokalen Shop zunächst mehrere neue Bestellungen als Gast tätige und danach eine neue Bestellung mit neuem Kundenkonto, funktioniert das. Also in der orders-Tabelle tauchen in der customers_id keine identischen Werte auf - alle sind unterschiedlich.
In der Version auf dem Webserver, gibt es mehrere gleiche customers_id in der Tabelle, obwohl unterschiedliche Gastbestellungen ausgeführt wurden. Wenn dann ein Kunde mit neuem Kundenkonto bestellt, hat dieser auch die customers_id wie die ganzen Gastbestellungen davor.