And it figures, but sites like Serebii and Bulbapedia's medal lists are in the internal memory order, so starting with 25C20, it's every medal in the listed order with increments of 4.
So for example, I wanted to modify the date for the Good Souvenir Getter medal. That's 193 in the internal memory, so I convert that to hex and get 0xC1. Multiply that by 4, and I get 0x304. Now, the thing to remember is that the medal list starts at 1, not 0. So we've got to subtract 4 to account for that. Thus we get 0x300. I add that to the 25C20 and get 25F20, and presto, I have modified the date of that medal and only that medal.
So I've managed to fix the three medals that had the wrong dates, and I'm pretty happy with the outcome. Thank you all at Project Pokemon for helping me with this, I really appreciate it. For anyone who wants to do the same, I used the October 28th code, but removed the loop line as I'm only writing to one medal at a time.
I don't know if I've contributed anything useful to the Project Pokemon knowledge-base, but I hope I have. And again, thanks evandixon, Kaphotics and bond697.