Das kann ja gar nicht funktionieren. Dein Konstruktur ist schon soweit korrekt, nur rufst du ihn falsch auf:
auto1.erzeugen(5,55,clNavy);
Du rufst hier eine Methode eines Objektes auf, das noch gar nicht existiert. So muss es richtig lauten:
auto1 := TAuto.erzeugen(5,55,clNavy);
Und der utopische Wert in der Variablen kommt daher, dass der Speicherbereich, in dem die Variable liegt, vorher nicht leer war. Das ist aber kein Problem, obiges verursacht den Fehler.
Edit: Mist, zu spät