Whether the CCBusyNode is seen on screen is purely controlled by the 'isVisible' flag. Removing the node from the active scene will not remove it from view - but will stop its position from being updated (as draw will no longer be called).
I'd suggest moving most of the setVisible code to onEnter/onExit and having setVisible just toggle the _indicator 'hidden' flag.