When people are never held accountable for their actions and they never have to face consequences for their actions, they never learn from their mistakes.
Warnings would have been okay a long time ago, two years of constant improper behaviour does not simply change over a day.
The offender has not shown any remorse, nor has he ever tried to apologise for his misconduct. I would definitely look at this situation differently if his participation message would have started with an open apology, addressing that his behaviour in the contest last year (and years before that) was not appropriate and that he is owning up to the words that he said and striving for change.
In all honesty, I don't think that he would even reply to @OlympicIRL statement, unless of course he feels pressured to do so after reading my message in order to yet again be on your good side.
My suggestion is not a full time ban, but excluding him from 1 contest might help him learn a lesson or two, because right now I see a kid whose throwing his legos and toys all over the ground, you keep stepping on them, but are still thinking "oh, what a cute kid". I'd suggest excluding him from the voting process for a single contest, but that would mean an advantage for Algeria and it wouldn't be good either.
We had a situation with a German user that admitted he didn't care about the contest and voted randomly, yet Germany that year was in the end disqualified from the affair, so why is this case special?
Edit: In case I was not clear enough, I'm not just addressing OlympicIRL, I'm addressing the forum.