Also im einfachsten Falle würde ich den String einfach zeichen für Zeichen in einer for-Schleife durchgehen, überprüfen ob das aktuelle Zeichen ein Umlaut ist, z.B. mit einer case-Struktur, und dann ggf. das Zeichen ersetzen und anschließend mithilfe der Funktion insert noch ein e anfügen.
Delphi-Quellcode:
case String[i] of
'ä':
begin
String[i] := 'a';
Insert('e', String, i+1);
end;
end;
Könnte man noch etwas vereinfachen mithilfe von Sets und Arrays, aber das überlasse ich dir.