Проверил, MarkRect не затирает.

У меня возникло подозрение, что только что инсталлированные на форму вьюхи не рисуются сразу же только потому, что их фреймы ещё не попали в общее дерево. А когда на следующем цикле происходит вызов RestoreRoot, эти фреймы уже лежат на пути обхода RestoreFrame, которая и дёргает за v.Restore.

Ведь внедрение вьюх на форму происходит только в FormViews.View.Restore(). Выходит, что отрисовка самих внедрёнок делается на следующей итерации.

P.S. Хотя, я, наверное, не прав. Вот кусочек из RestoreFrame:

## Код:
```
v.Restore(f, l, t, r, b);
            g := f.down;
            WHILE g # NIL DO   (* loop over all subframes to handle overlaps *)
               dx := f.gx - g.gx; dy := f.gy - g.gy;
               RestoreFrame(g, l + dx, t + dy, r + dx, b + dy);
               g := g.next
            END;
```


То есть, сперва вызывается Restore, а затем на крайний вьюхин фрейм напускается рекурсивно RestoreFrame.