Am now using the following function which works even if the exe has been renamed (as long as you know the original filename).

In case anyone else finds it useful...

 Code:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;  CHECKS FOR A RUNNING PROGRAM.                ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Function CheckForProcess($exe)
   Dim $processes,$process
   $processes=GetObject("winmgmts:{impersonationLevel=impersonate}!root\cimv2").ExecQuery("select * from Win32_Process")
   For Each $process in $processes
      If GetFileVersion($process.ExecutablePath,"OriginalFilename") = $exe
         $CheckForProcess=$CheckForProcess+1
      EndIf
   Next
EndFunction