How can I update state inside a ctheorems environment?

While I don’t use ctheorems in particular, your updates look like you’re running into this:

Maybe that helps you until someone with more experience with ctheorems responds.