I can choose an embark location right next to a necro tower and not have a tower listed as my neighbor then move a couple of map squares away from it to find that the tower then pops up as a legitimate neighbor.
What is in between those two squares, precisely? Are you moving your cursor through mountains, for example?
For example:
G G G M M M G
G
T G M
X M G
G G G M M M G
G G G G G G G
(Grassland and Mountains)
if you start out at X, it might NOT give you a tower as a neighbor, because necromancers can't go through mountains. But if you move two square further away to the right, there is now a valid path to the tower, so it shows up.
It's also possible that even if it isn't mountains, but forest or something, that Toady might have changed something due to implementing armies this most recent release. Imagine, for example, that forests "cost" 5 points to go through, and grasslands "cost" 1 to go through. So if you start in a forest, it might actually be a more expensive path, versus if you move your cursor physically further away, you might be moving closer to an easier path, which now fall within the maximum allowed travel cost all of the sudden.
For example:
G G G M F F G
G
T G M
X F G
G G G M F F G
G G G G G G G
At X, the cost in my example might be 11 for the nearest path (forest south costing 5 + 6 grasslands)
If you moved your cursor two to the east, the cost would become only 8 (8 grasslands).
So if the maximum travel cost to allow a neighbor were set at 10, let's say, it would show as a neighbor in the further tile but not the nearer one, even though you aren't separated by purely impassable terrain.
If that's what's going on, it wouldn't be a bug, but actually an awesome feature.
Or it's a bug.
Or BOTH (he did change something like that, and he changed it in a buggy fashion)