Custom business rules which update the state are not working as expected on the incident table.
This may be caused by the OOB Business rules which sync the state and incident_state fields.
Copy Incident State to State
Copy State to Incident State
Because these run at order 0 and 1000000, they can cause an update to the state by a Business Rule within that range to be overwritten.
Make sure your custom Business Rules update the Incident state as well.