Hola.
Es mas... pensándolo bién, se puede resumir a:
Código Delphi
[-]
...
uses DateUtils;
procedure TForm1.Button1Click(Sender: TObject);
var
Fecha: string;
begin
Fecha:= StringReplace(FormatDateTime('dddd dd ''de'' mmmm yyyy', Date),
LongMonthNames[MonthOf(Date)],
UpperCase(LongMonthNames[MonthOf(Date)]),[]);
...
end;
Saludos.