The problem with cookies, is that they can be deleted.
Have people register to vote and then have a column in your db called "have_voted" or something like that. Set it to NULL to start with and put a 1 in it when they DO vote. Whenever someone tries to vote, check for that one and if there is a one already there then dont let them vote.
Then, at the beginning of each month (or the 25th), run a script that will turn all the 1s back to 0 (or NULLs) again.
A bit complicated, but it should work...