I think she'd have been in a much better place if they knew about it. Buffy was ashamed of Spike, which was why she didn't want to tell them in the first place. Telling Tara about it made it easier. If she'd told Dawn, Willow and Anya, they wouldn't have judged her, that would have probably made Spike less manipulative as he'd be considered part of the Scoobies. Xander would object at first, but his opinion shouldn't matter when all the others would show support and willingness to embrace what Buffy wanted.
So, in the end, it was all up to Buffy. If she really wanted a relationship with Spike, she could have had one, regardless of what Xander thinks. The problem was, Buffy didn't want a relationship. She wanted Spike to hurt her so bad, wanted to feel the shame and self-loathing. She was not in the right state of mind, and sadly no one really helped her though it. Not her friends who ignored what she was going through or Spike who made use of her situation for his own benefit.