But everything in every script is written in order to lead to the next step. This one is not different and there's nothing wrong with it. It actually makes sense that Buffy will get hurt once in a while. It will be silly not to make her like this. Weak sometimes. She's human, she's not a higher being or something who can't get hurt. She slipped and made a mistake. It's realistic. I'd be worried if they made her undefeatable. And the emotional weak, again she's human. That doesn't happen to her a lot, which means it can happen any time, anywhere. She realized something, that she's breakable. She almost died, yes, by a regular vampire. So of course it shocked her. What if that happens again? She's not immortal. and it doesn't have to take a big bad or a god to kill her. That's the point.
Why he's telling her this? Because 1)he needs the money, and 2)he's in love with her (which makes me believe that it's not even about the money like he wants Buffy to think). Spike is one of the most dangerous vampires in the history. She wants to know what she's walking into. Lucky? Maybe yes maybe no. Fact is, he's killed two Slayers. How many vampires out there can say they killed 2 Slayers? Want it or not, Spike is a strong fighter. He knows Slayers because of his obsession with them. He knows about their death wish and he used that knowledge. He knows what Buffy really is as a Slayer. He uses that knowledge, and Buffy uses it too. Because he is the only one around who's alive and bagged 2 slayers. Buffy wants to use that information to prevent from dying.
I don't agree about James, but whatever. Your opinion. I just like looking at actors' acting when I'm watching something. And I can actually see what Spike feels, so I think James delivers Spike's feelings very well.