You think of a family as of one big object, which is wrong. There is no such thing as "family visibility". When you create an instance variable on a family, what actually happens is you are adding a copy of this variable to each member of the family.
So each sprite has its own copy of this variable, and each instance of the sprite has its own value in this variable. If you toggle it for existing instances (setting it to true) and then spawn new instances (with default value of false), you end up with a mix of true and false values.
.
Like I said, if you want to control visibility of all family instances at once, you need a global variable:
If bDebugVisibleGlobalVar=1 -> Family_Debug_Sprites set visible
Else -> Family_Debug_Sprites set invisible
To toggle it between 0 and 1 you can use this expression:
Set bDebugVisibleGlobalVar to (bDebugVisibleGlobalVar=0)