I think it can be done. Here is my idea, not time to code, it's lunch time.
Get a selection set of all the blocks
If the 'effectivename' of the block is the one you want proceed
Use 'GetDynamicBlockProperties' to get a list of all the properties
Search through the lisp until you hit the proper named "Visibility"
Then get the 'value' of that property
Then add that value to the list of values if it isn't there, and put the blocks attribute to 1
If it is there, then change the value in the list to 1 plus (so 2 -> 3) and put the new value in the attribute.
Hope that is enough for someone to help.