Usa CURDATE() en lugar de NOW().
MySQL realiza una conversión implícita de DATE a DATETIME cuando realizas una operación así, porque siempre modifica el valor de menor representación para adaptarlo al de mayor rango.
En este caso, si asignas un DATE a un campo de fecha y hora, convertirá el dato a DATETIME, pero como el dato de origen no tiene horas, le pone el valor de horas en cero... que es precisamente lo que quieres hacer.
Veamos:
Código MySQL:
Ver originalQuery OK, 0 rows affected (0.02 sec)
Query OK, 0 rows affected (0.01 sec)
Query OK, 3 rows affected (0.00 sec)
+---------------------+
| dia |
+---------------------+
| 2011-08-15 00:00:00 |
| 2011-08-15 09:18:07 |
| 2011-08-15 00:00:00 |
+---------------------+
¿Se ve claramente?