Thank you all for the hard work you have put into this thread. However, I still seem to encounter problems I do not have a grasp on. I can run your routine in a drawing and it does exactly what I want - it will change the Visibility State to another predefined named state. But if I change two varialbes, "Balloon 1-2" to "os-cedt" and "Left" to "Cover OFF", it will not work on my block. I keep thinking it must be something simple that I am overlooking, but I have only changed the block name and Visibility State name to match mine. I have checked spelling, etc.
I guess I just don't understand why AutoDESK wouldn't make these changes accessible from the command line. I know dialog boxes are easy to work with, but aren't there a lot of cad mngrs who know a little lisp who would like to automate these for their users.