Просто поменяйте перед until строчку:
w := w + 1;
Хотя это не поможет - у Вас же значения w в цикле модифицируется, так что думайте лучше! Что, вот так вот нельзя, что ли?
var i, x, y: longint;
w: int64;
begin
write('x y: ');
readln(x, y);
for i := x to y do
begin
w := i;
write(w, ' ');
w := w * i;
write(w, ' ');
w := w * i;
writeln(w)
end
end.
А repeat until и while do нужны только или для итерационных циклов с неизвестным заранее количеством шагов или для циклов с нецелыми параметрами счёта, если в них вообще есть нужда...