Sure, I get that, but the speech was still not helpful. It's insensitive to people who have or are thinking of committing suicide and would never help anyone in pain (which she assumed Jonathan was in).
She was talking to a person who, as far as she knows, was gonna shoot a bunch of kids! The fact that she didn't immediately punch him on the head shows remarkable gentleness. When Angel was in a similiar situation with Faith in 'Consequences', he wasn't being gentle with her either - he tied her up, he said he didn't trust her, etc...
After she learns the truth, her "Oh" and "He's been giving me those eyes...What am I, saint Buffy?" are also incredibly insensitive and unnecessary comments.
Buffy gave a whole speech based on the idea that Jonathan wanted one thing, and then she learned that he wanted another thing entirely. Saying "oh" is just the only natural response. I would say "oh" in that situation too. So would Angel.
And the "saint Buffy" line might have been insensitive if she said it to Jonathan, but she didn't - she said it to Giles, so it's fine. And Buffy is right - she has no obligation to go with jonathan to the prom just because he's in pain.
Buffy might not have known Jonathan was going to commit suicide but her self-centered speech was supposed to help Jonathan (which is why she didn't simply remove the weapon from his hands). Again, her attitude after learning the truth was terrible.
I thought her speech WAS very effective. I think that the idea that we are all in the same painful boat is, in a way, very comforting. As a teenager, one of the worst feelings I remember is when I felt like I was the ONLY one who had problems like loneliness and social anxiety. That feeling of "What's wrong with me? Why am I the only one who can't figure it out?" made me think that I could never get over these problems, because they're part of who I am... It also made me think that I couldn't get help from anyone, because no one could know what it's like to have these problems. When I finally realized (and I mean REALLY realized, not just as a vague concept) that EVERYONE has these problems, it somehow helped me deal with my own problems. So, I can totally see how Buffy's speech helped Jonathan.
And again, her attitude after learning the truth was NOT terrible, at all.