Según w3c, está bien como sentencia sql:
http://www.w3schools.com/sql/func_datediff.asp
pero según mysql:
http://dev.mysql.com/doc/refman/5.5/...ction_datediff
con poner las dos fechas con día como unidad mínima estaría bien (que es lo que te da CURDATE, pero no UNIX_TIMESTAMP (que también te da los segundos, o en su defecto, ceros). Además que el valor numérico que te da CURDATE no es comparable con el de UNIX_TIMESTAMP.
No tengo mucha idea, pero me quizá sería correcto lo siguiente:
DATEDIFF( UNIX_TIMESTAMP(), UNIX_TIMESTAMP(datainicial))
y poner el between final en segundos.
Saludos