Ошибка - что count не очищаете для перед циклом с k; ну и k, как сказали выше, нужно начинать с 2, так как любое число делится на 1.
Ещё i можно начинать с 2 и до (n/2) - поскольку делителей дальше не будет
Ну и k, соответственно, с 2 до (i/2)
var
n,i,k: integer;
flagSimple: boolean;
begin
writeln('Введите натуральное число: ');
readln(n);
for i:=2 to (n/2) do
begin
if n mod i = 0 then
begin
flagSimple := true; //считаем пока, что i - простое (ну или count := 0, если использовать число)
for k:=2 to (i/2) do
if (i mod k = 0) then
begin
flagSimple := false;
break; //выходим из цикла for для k, так как обнаружили, что i - не простое
end;
if (flagSimple = true) then
writeln(i, ' ');
end;
end;
end.