Hast du auch String in AnsiString geändert? Denn sonst hast du weiter hinten vermutlich Probleme mit dem zeichenweisen Zugriff. Also so sollte es eigentlich gehen würde ich sagen:
Delphi-Quellcode:
procedure GetCurrentURL(
out URL, Title: AnsiString);
var
DDEClient : TDDEClientConv;
p, q: PAnsiChar;
i: Integer;
begin
...
var
MyUrl, MyTitle: AnsiString;
begin
...