Quería decirte que quitaras el .Open de ahí, pero que lo pusieras en lugar del ExecSql.
Código Delphi
[-]IBQuery1.Close();
IBQuery1.SQL.Text := 'Select Sum(monto) from Montos WHERE NOMBRES = :nombre AND CAST(FECHA as DATE) = CURRENT_DATE';
ibquery1.params[0].asstring := ENOMBRE.Text;
IBQuery1.Open();
Monto := IBQuery1.Fields[0].AsInteger;
ShowMessage(InttoStr(Monto));
El Open es cuando se hace Select. El ExecSql cuando es delete, insert, update.