lazarus pascal rewrite, append не работает -- Файл не отображается в папке, не сохраняются изменения

Заметка связана с работой с файлами в Паскаль.

Проблема

Эта проблема относится к работе с файлами, а точнее -- к записи текста процедурами классического Паскаля.

Файл (предположим, что сначала его не существовало) не создаётся в папке в обоих случаях, но почему-то, если предаврительно провести в него запись:

Var
    f1:text; // тип для открытия текстового файла
    filename, filename2, s: string;
    i:integer;
begin

  filename := 'C:\Users\TEMP.UIC.014\Documents\output.txt'; // путь к файлу
  //
  assign (f1,filename); // ассоциируем файл с переменной
  rewrite(f1);  // открываем для записи

  for i:=1 to 10 do
     writeln(f1, 'Privet Mir! ');

  close(f1); // закрываем файл


  assign(f1, filename);
    {$I-} reset(f1);  {$I+}  // попытка открыть файл на чтение с подавлением ошибки
    if IOResult <> 0 then    // если есть ошибки
    begin
      writeLn('File ', filename, ' ne naiden!');
    end else  // если удалось открыть на чтение
    begin
     writeLn('File ', filename, ' suchectvuet. I vot ego soderzimoe:');
     while not eof(f1) do
       begin
         readln(f1, s);
         writeln(s);
       end;
    writeLn('========= konez faila =========');
    end;

  readln();
end.

-- то программа его находит (непонятно где, но записанное выводится), а вот так уже не находит:

Var
    f1:text; // тип для открытия текстового файла
    filename, filename2, s: string;
    i:integer;
begin



  filename := 'C:\Users\TEMP.UIC.014\Documents\output.txt'; // путь к файлу
  //

  assign(f1, filename);
    {$I-} reset(f1);  {$I+}  // попытка открыть файл на чтение с подавлением ошибки
    if IOResult <> 0 then    // если есть ошибки
    begin
      writeLn('File ', filename, ' ne naiden!');
    end else  // если удалось открыть на чтение
    begin
     writeLn('File ', filename, ' suchectvuet. I vot ego soderzimoe:');
     while not eof(f1) do
       begin
         readln(f1, s);
         writeln(s);
       end;
    writeLn('========= konez faila =========');
    end;

  readln();
end.

-- аналочно, если создать файл, то в первом случае чтение будет происходить непонятно откуда (как будто имеет место быть некая замена путей), а во втором случае файл будет читаться по-нормальному (теперь он уже будет обнаружен).

Аналогичная проблема наблюдается и с append -- он считывает имеющиеся данные, и как "добавляет" к ним новое, но вся работа как будто проводится только в оперативной памяти (или просто с копией файла), изменения не сохраняются.

Причина

Здесь что-то непонятное. Люди пишут о нестандартном поведении старых функций ввода/вывода в Windows 7 и выше (у меня в данный момент 8-я версия)