Dein schnellster Freund dürfte der Debugger sein. Funktioniert EXE_Running überhaupt?
Dein zweiter Freund ist der Debugger oder eine minimale Fehlerbehandlung, die zumindest per OutputDebugString mitteilt, wenn ein FindWindow(Ex) etc. fehlschlägt.
Kurz: nimm den Debugger, steppe durch das Programm, und teile uns mit, an welcher Stelle Dein Code vom erwarteten Verhalten abweicht, dann fällt es leichter, Fehlerursachen zu vermuten und Tipps zu geben