Drachenbauer with replace navgation, typically you would put it on the object changing, not the tile.
If that is what you are already doing, then "self" won't be the tile it's on, self will be the door.
So two questions:
1) Have you tried using replace_navigation on the door object itself, because if not, it should work.
However if it's on the tile itself, that would explain why all the tiles connected to it are changing.
2) if the script is already on the door object, then modify navigation, (which requires two tiles to be specified) will not work with self (as thats the door) so you will need to work out how to find the two tiles from the door reference.
Modify_navigation takes two tiles and changes the link between them.
For example, these two tiles are [0, 1, 0], and [0, 2, 0].
To change the link in the door script using modify:
if self.property["open"] == false then
play_animation(self, "open");
self.property["open"] = true;
modify_navigation(tile[0, 1, 0], tile[0, 2, 0], WALK_AND_INTERACT);
else
...
...
modify_navigation(tile[0, 1, 0], tile[0, 2, 0], INTERACT_ONLY);
end;