This is a fabulous question because it goes right to the heart of why present participles exist in the English language. To explain this, let's look at a simpler example. Consider these sentences:
(1) She is happy.
(2) She is being happy.
Technically, there is no difference. If one of them is true, then so is the other, so why say "being"? The answer is that present participles create mental images. When the listener hears "she is being happy", he imagines her being happy. He can *see* her because participles create mental pictures. The first sentence does not do that. It merely states a fact.
Now let's look at the two sentences. Fundamentally the difference is that "had" = "experience of having", whereas "been" = "experience of being".
Sentence #1: "has had that hairstyle" = "has experience of having that hairstyle"
Some people have that hairstyle, and some people don't. The sentence means that for a long time, the sister has belonged to the group of people described as "having that hairstyle". It can either mean that that hairstyle has been on her head, or that she has been paying people to put that hairstyle on her head for a long time.
Sentence #2: "has been having that hairstyle" = "has experience of BEING a person having that hairstyle".
Right away, you see the subtle difference between #1 and #2. The dominant participle in #2 is "being", while "having" is secondary. The image that comes into your mind is of her BEING such a person. Whereas "having" limits attention to the hair on her head, "being" focuses more on her as a complete person. She is THAT sort of person, one having that hairstyle.
The sentences mean the same thing and you can use them interchangeably, but one puts the emphasis on her hair and the other puts the focus on the whole person. The second sentence is more conversational, more descriptive, and more friendly. The first sentence gets to the point, just saying what needs to be said without embellishment.