The "MOVE UP" option in the Visibility state manager is a very quick way to add multiple Dynamic block references of a visibility state. I think on major thing 2006 is missing is the ability to change visibility states at insert. So, I decided to make a Dynamic block of each visibility state in each of my blocks. This allows our users to insert a block and not have to manually change visibility states after insertion. But still allows them to change visibility states if necessary once the block is already placed in the drawing.
So how to use the move up option. Say you have a Dynamic block screw that is 2" long. Then you make a visibility state for a 3" 4" and 5" screw. The dynamic blocks name is "SCREW2inch". Then in the block editor you use the "SAVEAS" button and name the block as "SCREW3inch". Then open the visibility state manager and select the 3inch screw visibility state and use the "MOVE UP" button to place it at the top of the list. Then use the "SAVEAS" button and repeat for each screw size. Now when you insert the block called "SCREW3inch" you will get the correct size at insert and still have a Dynamic block with all screw sizes. Does this save you a TON of time, probably not. But when you have screws that are 2" 3" and 4" long, I've seen that users sometimes just forget to change the visibility state of a screw from 2" to 3". Since they are so similar in size.