Hola,
vamos a centrarnos en el primer for:
tu tienes
Código Delphi
[-]
Memo1.Visible:=true;
nom := EdNom.Text;
linea := '';
cant := 0;
for i:=1 to length(nom) do begin if nom[i] in ['A','E','I','O','U','a','e','i','o','u'] then begin
linea := linea + nom[i] +' ';
cant := cant + 1;
end;
case uppercase(nom[i]) of 'A':cont:=1;
'E':cont:=5;
'I':cont:=9;
'O':cont:=6;
'U':cont:=3;
end;
end; Memo1.clear;
Memo1.Lines.add('Su nombre contiene las vocales');
Memo1.Lines.Add(linea);
Memo1.Lines.Add('Total de vocales= '+ IntToStr(Cant));
A partir de aqui mira que es lo que te falla