You might consider making "all" a button that looks like a check box but sets the check box field to a list of all values in the field--which can be easily done with the valueListItems function.
A conditional format or Hide object when setting can update the appearance of this button when edits to the check box field remove a school from the list so that all are no longer selected.
Let ( [ Vall = ValueCount ( ValueListItems ( Get ( FIleName ) ; "valueLIstNameinQuotesHere" ) ) ;
Vselected = ValueCount ( YourCheckBoxFieldHere )
Vall ≠ Vselected
Would work as a "hide object when" expression to hide an "x" placed on top of such a button.