Dort weißt du den Inhalt des WParam der AnsiString Variable Text zu.
Da WParam = 0, weist er der Variablen "Text" "StreamList.Names[0]" zu.
Dann kopierst du den Text in den Parameter der WndProc. Zum einen macht das keinen Sinn. Und zum Anderen ist LParam vom Typ DWord. Es wird also mit der Zeichenkette nichts anfangen können.
Da LParam einen Zeiger auf die Variable StreamName beinhalted, überschreibt er so den Inhalt dieser Variable mit dem Inhalt aus "Text".
Edit:
So kann das aber nur innerhalb einer Anwendung funktionieren, da jede Anwendung ihren eigenen Adressraum hat.
Datenaustausch zwischen verschiedenen Anwendungen ist z.B. mit WM_COPYDATA möglich.