Check the start condition on the SLA definition. An SLA attached to a task is canceled if the start condition on the SLA definition no longer matches. It is important to understand this behavior inorder to define SLA conditions correctly. The start condition should be thought of as a condition that must be true for the whole period that you want the SLA to be active. It is not just a condition that has to match at the start.
In Helsinki and later releases, two new fields have been introduced: When to Cancel and Cancel Condition. The feature was designed to provide better control when an SLA is canceled. For more information, see SLA Conditions in the product documentation.