Piccola precisazione: non posso sostituire il carattere null con altro carattere.

Edit:
ok anche i PChar sono null-terminated.
Ma allora cosa diavolo posso usare? Se uso le string (stranamente se ne frega del carattere di terminazione), quando dealloco la memoria mi da access violation, se uso il PChar come variabile di ritorno tra le due funzioni mi tronca i dati..vado a sdraiarmi su un'autostrada.

Funzione Polling()
ResponseBox := DownloadPolling(String(GID), String(DID));

Funzione DownloadPolling()
Response := 'abcd#0efghil#0mnop#0qrst#0uvz'
Result := PChar(Response);

ho bisogno di ferie