In John’s eyes, I think he definitely did.
But in general, I think that redemption isn’t really the issue. Somebody posted a really excellent meta a few days ago (long enough ago for me to have lost it, unfortunately) about how the remarkable thing the BBC’s Sherlock does is that it says, “This guy is pretty weird, mildly fucked up, and not a very nice person. But you know what? Some people are like that, and maybe he doesn’t need to change too much.”
Obviously he could stand to be less callous to people, but in general the show suggests that Sherlock is more or less okay the way he is. He’s not on a hero’s journey. He’s not trying to make up for anything. He’s living the way he wants to, and is being the person he wants to. His growth is to understand that he doesn’t have to be alone while he does it. He sure as hell isn’t perfect, and he shouldn’t be expected to be, but hopefully he can learn from his mistakes.
And yeah, I think he does that.
It’s sort of refreshing, really, that he can fuck up so royally—really devastate the person he cares about most—and while that’s shown as being a terrible, painful thing, it’s not vilifying him or treating him like somehow he has to make some massive atonement. It’s realistic. This is what it’s like in real life when you fuck over a loved one. They hurt, and you hurt, and hopefully they forgive you, and then if they don’t leave, you keep going together and re-establish trust and continue loving each other while recognizing that you can make mistakes and fuck each other up.
That’s what we’ve got here, I think.