To my mind no, "se dévoiler" doesn't have a negative connotation, so yes, you can use it in a positive way. "To show your true colours" would be more something like "se montrer sous son vrai jour", and as in English, this expression has a negative sense. "Se dévoiler" sounds more romantic, the meaning is "enlever le voile" (to remove the veil), it's more like "to reveal herself" for example.