I think I read somewhere, or someone told me, that in Scandal of Belgravia Sherlock felt an ‘affinity’ towards Irene Adler. That because he let her live in the end and kept her phone as a ‘remembrance’.
But from what I’ve observed, it was Irene who felt ‘something’ for Sherlock, following the “I took your pulse” and the blindingly obvious SHERLOCKED code. Sherlock didn’t even feel an inkling of erotic love for her, he just needed final proof. He kept her alive because she’s a force to be reckoned and in canon she left unscathed from anything at all. Of course, the “LATE Irene Adler” from the Conan Doyle text could be interpreted in two ways: LATE as in dead and LATE as in she was an ADLER but since she got married she’s no longer Irene Adler. Also the phone, it was just the picture Conan Doyle Sherlock kept as remembrance; the only woman and half of the duo that have outsmarted the world’s only consulting detective.
So I conclude that the ending didn’t harm the canon at all. It just had a different take, oh yes they have a word for it: ADAPTATION. Don’t like? RETELLING, then.