There's no way to keep the process from starting each time. However, you can alter your process if you are concerned about actions or notifications being completed unnecessarily. It's a bit of a work around but what I've done to address this bug is:
1) Audit the attribute on which the Start Condition is based
2) Add a new date field to the object
3) Add a new boolean field to the object with a default of 0
4) Add a gel script to the Start Step which compares the max created date on the cmn_audits table for the attribute to the current value of the new date field. If the two values do not match, the gel script updates the boolean attribute to 1 and the date field's value to the timestamp of the created_date column of cmn_audits for the latest update
5) Add a post condition to the Start Step, if the boolean attribute's value is 0 then the process goes to the Finish Step, if it is 1 it goes to the next step in the process
6) Somewhere in a later step in the process, reset the boolean attribute's value to 0