Vielleicht solltest Du Dich in der Tat mal mit dem Thema "Semaphoren" beschäftigen.
Stelle Sie Dir als kleine Signalflagge vor, die Windows auf Deine Anforderung hin in den Wind stellt. Sieht Deine Anwendung beim Start diese Flagge wehen, so kann sie direkt nach der bereits laufenden Instanz suchen und diese aktivieren.
Schaltest Du den Rechner aus, so gehören die auf diesem Rechner laufenden Instanzen und Semaphoren (Flaggen) ebenfalls der Vergangenheit an.
Arbeitest Du im Netzwerk, so kann Deine Anwendung auf jeder Workstation genau einmal (oder eine von Dir bestimmte Anzahl an Instanzen) gestartet werden.
Eigentlich genau das, was Du suchst. Ein Beispiel hierzu findest Du beispielsweise bei
Delphi-Corner oder Du er
googelst Dir einfach was.
Grüße,
Daniel
P.S. @Christian: Ich hatte es so verstanden, dass das Programm im Netzwerk durchaus mehrfach gestartet werden darf. Nur eben höchstens eine Instanz pro Workstation.
Daniel R. Wolf