Ist es nicht so, das der leere String intern durch einen nil-Pointer repräsentiert wird? Dann ist es logisch, das die 'Dereferenzierung' durch Zugriff auf das 1.Zeichen eine Zugriffsverletzung ergibt.
Metaphysisch gesehen scheitert Delphi an der Frage nach "dem Anfang des Nichts"