Creo que estas intentando encontrar una solución sin comprender como llegar a ella.
Tienes Chr y Ord para traducir una letra a su equivalente Ascii y viceversa.
Si el código ascii de cada letra, lo tienes en una cadena separada por espacios, sólo es cuestión de analizar esa cadena.
Código Delphi
[-]
var ascii : string;
ValorNumerico : integer;
letraFinal : Char;
begin
ascii := '105'; valornumerico := strtoint(ascii);
letrafinal := chr(valornumerico);
letrafinal := chr(strtoint(ascii));
end;
PD: El segundo código no funciona bien, ya que el bucle for empieza en cero, y un String siempre empieza en el índice uno. Intentalo con la cadena "Bien" y verás que en el ShowMessage obtienes 5 valores ascii, cuando solo hay 4 letras. Eso demuestra que no has analizado bien el código
Saludos