Genral Protection Fault - creating program groups

I've made a few Setup-programs, both in Delphi 3.0 and in the 16-bits
version, and I've used this little procedure to create program groups and
program items. For some reason, Windows raises an exception - not every
time, but quite often (a bit more often in Windows 3.1 than in Windows 95).
Everything works fine - the groups are created, and the Setup-program may
continue, but it's not very professional, and I've got a lot of complains
from my customers. Can someone please help me?

With DdeClient.Lines do
begin
     Add('[CreateGroup("NettBase")]');
     Add('[AddItem("'+DestDir+'NettBase.Exe", "NettBase")]');
     Add('[AddItem("'+DestDir+'Help.Hlp", "NettBase Help")]');
end;
try
With Dde do
begin
     SetLink('ProgMan', 'ProgMan');
     if not ExecuteMacroLines(DdeClient.Lines, True) then
        ShowMessage(Errormessage);
end;
except
      ShowMessage(Errormessage);
end;