Hola josi, te devuelve 30/12/1899, porque no entra a tu condición, las dos lineas que tienes debes colocarlas en un bloque begin end y si la condición no se da entonces muestras otra cosa.
Código Delphi
[-]
var
s:tdatetime;
begin
if Trim(edit16.Text)='mensual' then
begin
s:=tdatetime (incday(now, 29));
edit17.Text:=datetostr(s);
end
else
edit17.Text:='No ha encontrado';
end;
Saluditos