Что ещё за (n * (n - 1)) в знаменателе?
Не убираешь предыдущее значение n²+1 в числителе.
Ошибся с начальным значением n.
С двумя дополнительными переменными всё становится намного проще:
n := 0;
t := 1;
s := 1;
x2 := x / 2;
repeat
inc(n);
t := t * x2 / n;
a := t * (sqr(n) + 1);
s := s + a
until abs(a) < e;