Ich halte deine Lösung zwar immer noch nicht für die richtige, zumindest für ein Chatprogramm, aber:
Statt WinExec solltest du ShellExecute benutzen, weil du dann auch Parameter mit übergeben kannst:
ShellExecute(Handle,PChar('open'),PChar('programm.exe'),PChar('192.168.2.1'),nil,SW_SHOW);
Die Paramenter wertest du dann in "programm.exe" beim OnCreate aus mit
Delphi-Quellcode:
if ParamCount=2
then
IP:=ParamStr(1)
//ParamStr(0) ist der Programmname
else Application.Terminate;
Dann sparst du dir das umständliche Übergeben der
IP mit einer Textdatei.