Der Ablauf ist: Reservierung mit StrAlloc oder StrNew, Verwendung der Variablen und dann StrDispose zur Freigabe. Mehr musst du nicht machen.
Der Pointer zeigt aber weiter auf den Speicherbereich, nur dass er nicht mehr gültig ist. Der Speicher wird bei der Freigabe aber ja nicht unbedingt sofort überschrieben.
Siehe auch in der Doku:
http://docwiki.embarcadero.com/Libra...ngs.StrDispose