I think its important to remember that for a long long time (10 years or so) Sophie was the only daughter / daughter in law living close to Windsor. In fact from the mid 1990s to 2005 she was the Queen's only daughter in law. I think this explains a lot. Also the Queen maybe wants to be close to her younger grandchildren, having spent time with the others she may have felt she wants to be able to make up for lost time with Louise and James.
As Queen Camilla says Edward and Sophie live only a few minutes from Windsor so the Queen can just pop over or they can just pop over to her in a way that Anne and her children and Charles and his children couldn't.
Part of me also feels that Sophie wants to be close to the Queen, I don't mean this is a bad way but I do feel Sophie knows what side her bread is buttered and knows being close to the Queen will only help her, as well as wanting to be close to her mother in law for all the right reasons. If, for example, Sophie does have an interest in military history I'd be prepared to bet she's developed an interest in it partly knowing the Queen has an interest in it. That's not a bad thing, I think its nice to take up the same interests as members of your family but I think the key difference with Sophie is she's actively sought to be friendly / close to the Queen and put the effort and taken up the interests to do so.
Maybe the Queen changed her ways slightly after Diana and Sarah and Mark Phillips all left the family in the 1990s, maybe she lowered her defences a little and actually went out her way to be close to Sophie more than she did with the others? But equally there are stories of, for example, Diana not taking up offers of going to lunch with the Queen.
People learn from mistakes and change, maybe thats what the Queen did.