Дело в том, что Register закрывает файл. New создает в указанном каталоге файл под временным именем. После вывода файл регистрируется под постоянным именем вызовом Register.
Надо так:
## Код:
```
MODULE Mm;

IMPORT Files, TextMappers, Stores;

PROCEDURE Do* ();
VAR
   f: Files.File;
   loc: Files.Locator;
   w: Stores.Writer;
   res: INTEGER;
BEGIN
   loc := Files.dir.This("");
   loc := loc.This("jfdjhf");
   f := Files.dir.New(loc, FALSE);
   w.ConnectTo(f);
   w.WriteString("sdjsjdhsjdhs");
   f.Register("t", "txt", TRUE, res);
END Do;

END Mm.
```

Вообще, модуль Files малость странноват, это вызвано тем, что ББ некогда был ориентирован также на старые MacOS, а там были свои "прибабахи"...

Да, еще - в данном случае будет выводится строка в формате Юникод. Чтобы работать с ANSI-файлов, используйте w.WriteSString.

Есть еще способ работы с текстовыми файлами - создать/открыть TextModels.Model, а затем сохранять ее в файл через txt-конвертер c помощью Converters.Export.Upd: см. пример:viewtopic.php?p=50633#p50633