Hey Steve,
Did you ever find a solution? If you are using a User Interface, you could use the
ApplicationMgr.Executions property to determine if there is already an execution running.
Also, you could create a Station Global that stores the number of instances of the process model that are currently running (it would only need to be a boolean if you wanted only one instance at a time). The first step in all of the entry points could increment this Station Global (have a lock on the step) and then the last step of your process model could decrement this variable. At the beginning of the process model, you would also need to check if the maximum number of instances have been reached, and if they have, skip to the end. I hope this helps!
Best Regards,
Software Engineer
Jett R