Good Morning Laura,
I didn't try your solution so I don't know where exactly it doesn't works. Maybe because your business rule is only launched client side when you open the record.
Yet, your solution seems to be a bit complicated. Did you try to launch a workflow on deactivation of a "sub" contact entity. The workflow will detect if the parent contact must be deactivated or not.
That's what i understood in your post. But I thought that you could check the number of "Sub" contact directly in the workflow. But maybe this is not possible without custom code.Another solution would be to make KingswaySoft manage the duplicates so you don't have to use any "Sub" Contact.
If we go back to your solution, did you changed the scope of your business rule to "Entity"?
Good if you already had the scope set to "Entity"I never tried to do this type of procedure so this was my only quick thought about where your issue may be.
According to this link, https://www.loganconsulting.com/blog/use-business-rules-to-update-values-from-rollup-fields/#.Wa5T7OuGO00, your solution should work. Maybe you could read it and find if there is Something you missed.Hopefully, you should not be far from making it work .