Hola,
Creo que te estás complicando innecesariamente. Si ya tienes separados los valores de añom mes, dia, etc. ¿por qué no simplemente los concatenas en el formato que deseas?
Código Delphi
[-]
function FormatearFechaHora(Cadena: String): String;
var
Anio, Mes, Dia, Hora, Min, Seg: String;
begin
Anio := Copy(Cadena, 1, 4);
Mes := Copy(Cadena, 5, 2);
Dia := Copy(Cadena, 7, 2);
Hora := Copy(Cadena, 9, 2);
Min := Copy(Cadena, 11, 2);
Seg := Copy(Cadena, 13, 2);
Result := Format('%s-%s-%sT%s:%s:%s', [Anio, Mes, Dia, Hora, Min, Seg]);
end;
// Saludos