Just found out a bug.
Instead of assigning the payment date as payment date, s2Member is assigning the notification moment as the payment moment (for PayPal, at least).
I just ran a test with a bunch of payments and messed up my database as it looks like all payments from July were made today in the system. Yay.
Let it be a lesson to all of you. Do NOT re-send your IPN from PayPal if you don’t want this side effect. It’s all good, I’ll survive. I messed up my database so you don’t have to.