Der Typecast zum PChar erscheint mir etwas umständlich... versuch doch stattdessen mal
[i]Stream.Read(Daten
.Name[1], Len);
PS: Warum ist Len ein LongInt und kein LongWord/Cardinal? Erwartest Du negative Zeichenlängen?
PPS: Wenn man mit F7/F8 durchsteppt, merkt man doch, wann der Fehler erscheint