Also, ich hoffe mal, du hast einfach nur vergessen,
hier im Forum zu sagen, dass deine Dialogbox
zwischen dem Erzeugen und Freigeben des
Mutex aufgerufen wird. Die 3 Punkte am Ende lassen mich aber was anderes vermuten, also wundere dich nicht, wenn du dein Programm trotz
Mutex mehrfach starten kannst.
Edit: Du hast Glück,

, "ReleaseMutex" sorgt dafür, dass man dein Programm nur ein einziges Mal starten kann, auch wenn du ihn vor dem Erzeugen der Dialogbox freigibst.