хммм...
а если проверка на наличие препятсятвия будет выполняться когда юнит идет?
т.е. ему нужно пойти на правую(типа 5 на нумпаде - юнит, 6 -право) клетку он смотрит есть ли там припятствиеии если есть вычисляет новый маршрут, кстати поиск нужного пути всеравно нужно будет производить каждый раз заного, что бы учитывать вновь появившиеся препятствия - какой нибудь солдат переместился...
есть идея - сделать вообще без матрицы (правда как выполнить поиск пути в этом случае во флеше я не знаю

) сделать клас "золдатен" с хиттестом на припятствия, т.е. стенки и другие золдатены, и если хитТест - то отодвинуть золдатена назад, короче что-то типа:
http://www.silin.fatal.ru/ предпоследний пример (я имею ввиду не отскок, а неналожение, то что они не пересекаются друг с другом)...