Рас никто не ответил.. что ж ...
Тем не менее решение проблемы заключалось в перекрытии уже пройденной и обработанной клетки её необработанным вариантом с перврго слоя..., нашёл два пути решения (определяются флагом GOST):
- Код: Выделить всё
- ...
 Pered[Eta  ]:=PPole[x  ,y  ];
 Pered[Verh ]:=PPole[x+1,y  ];
 Pered[Pravo]:=PPole[x  ,y+1];
 if GOST <> 0 then
 begin
 Pered[Niz  ]:=SPole[x-1,y  ];
 Pered[Levo ]:=SPole[x  ,y-1]
 end
 else
 begin
 Pered[Niz  ]:=PPole[x-1,y  ];
 Pered[Levo ]:=PPole[x  ,y-1]
 end;
 
 Trans^.Ustanovka(@Pered);
 
 str(nom^,t);
 t:='fv'+t;
 
 Trans^.Translatiya(t);
 
 SPole[x  ,y  ]:=Pered[Eta  ];
 if GOST <> 0 then
 begin
 SPole[x+1,y  ]:=Pered[Verh ];
 SPole[x  ,y+1]:=Pered[Pravo];
 SPole[x-1,y  ]:=Pered[Niz  ];
 SPole[x  ,y-1]:=Pered[Levo ]
 end
 else
 begin
 SPole[x+1,y  ,Tip]:=Pered[Verh ,Tip];
 SPole[x  ,y+1,Tip]:=Pered[Pravo,Tip];
 SPole[x-1,y  ,Tip]:=Pered[Niz  ,Tip];
 SPole[x  ,y-1,Tip]:=Pered[Levo ,Tip]
 end
 ...
для моего случая это подходит... 
