So I just did a quick speedrun of the early game to check; she was a virgin on the 18th of September. However, my actual playthrough was only a week later on the 25th and she wasn't. I remember Halloween being the cut off too but now it is apparently either random, determined by other factors or just even earlier.
I also rammed the Charms skill up to over 15 but no peeping spell has shown up.
...so I dig some digging before actually posting the reply. Turns out that the parameter for Ginny's virginity is her relationship with Harry and (I'm pretty sure) Colin. If it is too high with Harry, then they've banged and if it is too low with Colin, then I think he rapes her. The relationship value points to characters hp (Harry Potter) and ck (presumably Colin (K)reevey). Furthermore, if you ask Colin about Ginny, after saying the twins will hurt anyone who hurts her, he says "that's a lie, I checked". So that's a thing.
You're right that the peeping spell needs over 13 Charms, but it also needs "dayofyear" to be over 290. I have no idea what that correlates too, but it isn't in September as far as I can tell. Maybe October 17th, the 290th day of the year? That still feels pretty late.