No me había fijado más que en la parte del VALUES, pero desde luego tienes razón. Tal como lo pones es la sintaxis correcta.
En el caso de ADO, no existe el AsDate como lo había puesto, así que hay que especificar el tipo de datos del parámetro:
Código Delphi
[-]
ADOQuery1.Parameters.ParamByName('hoy').DataType := ftDate;
ADOQuery1.Parameters.ParamByName('hoy').Value := date();
// Saludos