In MySQL, the functions CURDATE() and NOW() is not the same thing. CURDATE() does not return the current time (hours, minutes, seconds), witch NOW() does.

Additional info here at gizmola. http://www.gizmola.com/blog/archives/51-Exploring-Mysql-CURDATE-and-NOW.-The-same-but-different..html

I have to thank myself for 1 hour of pretty unnecessary debugging! :)