Ojo si tienes eso en un botón (o se ejecuta varias veces), porque al usar sql.Add estas añadiendo lineas y lineas... al final no es una instrucción sql correcta para ejecutar.
La solución es dejar la consulta con su texto sql escrito en tiempo de diseño y en tiempo de ejecución hacer:
Código Delphi
[-]
if not Query3.Prepared then
Query3.Prepare;
Query3.ParamByName('fechaDeHoy').AsDateTime:=Now();
Query3.ExecSQL;
Saludos