Have you thought about talking to her about it? Maybe that would help you resolve some of that guilt that weighs so heavily on you still. But you know what? Sometimes people hurt each other, even if they have the best of intentions. You just can't help what your heart feels and sometimes that means another heart gets broken as a result. That doesn't mean you're not a good person - you are. And you deserve to forgive yourself. I think maybe she already did, years ago. And if she hasn't, I'm sure she certainly would, if she knew why you did what you did.
I got to know her pretty well over a year or so. And yes, she was a virgin herself. But she told me even if she wasn't a virgin anymore, her thinking wouldn't change. The reason why she didn't want to be with a non-virgin is because she couldn't stand the idea that he'd been inside someone else (her words) - to her he'd be 'dirty'. I thought that was a really selfish and irrational way of thinking. I'm supposed to be 'clean' because I've never been with another woman before? And as a result, desirable? Anyway, it's a bit of a story in itself, her and I, but that's for another time, not for this thread.
Do you worry that it's a red flag for a girl that finds out? I do, sometimes. But I guess that's part of the package, isn't it? And if it's an issue for the girl, then I guess she's not the right one eh? Keep your head up bud, I'm cheering you on! And happy birthday, go out and celebrate :)