IMHO hat per se #0 in einem Delphi-Strings keine Bedeutung und sollte somit auch als normaler "Char" behandelt werden.
Genau das passiert ja nun auch in der
TString.SetTextStr
. Im Gegensatz zu vorher, wo die #0-Zeichen einfach entfernt wurden. Das alte Verhalten war also streng genommen nicht Delphi-konform, die Änderung also nachvollziehbar.