Please check that your filtering for the rule are correct. If it works on Status=X it won't work on the same ticket if it's status has been changed to "Y"
If you don't want the rule to run more than once, you should use the "escalation level" field.
Escalation level is only important if the service request that would be escalated is already escalated. An escalation rule will only run on an escalated service request if the escalation level of the escalation rule is higher than the escalation level of the service request. For example: a service request was escalated by an escalation rule of level 10. If an escalation rule of level 5 would later be applicable, it would not run. An escalation rule of level 15, however, would run. If you choose the option "Do not escalate," the escalation rule will run continuously until something in the service request changes so that the escalation rule no longer applies. Be very careful if you use this option, especially if the escalation rule is designed to send out e-mails.