Hallo.
Das ist merkwürdig.
Normalerweise müsste, sofern eine
Mutex mit gleichem Namen vorhanden ist, die Nachricht WM_COPY an deine Erstinstanz geschickt werden und anschließend deine Zweitinstanz (die du nicht siehst, weil OneInst.pas zwischen noch vor Application.Run, also vor MainForm.Show ausgeführt wird) per Halt() beendet werden. Schau mal mit dem Debugger, wie sich das Programm verhält, wenn bereits eine Instanz offen ist.
Gruß
blackdrake