Oh no!  The geo table is polluted!
Code:
0xad6bc14 <geo+2356>:   0x002b0001      0x0033002d      0x00000032      0x00390035
0xad6bc24 <geo+2372>:   0x00000000      0x00000000      0x00000000      0x00000000
0xad6bc34 <geo+2388>:   0x00000000      0x00000000      0x00000100      0x03f10331
The above is for Marverni, neighbors:
0x01 = 1
0x2b = 43
0x2d = 45
0x33 = 51
0x32 = 50
0x00 --> no more neighbors
0x35 <-- Ack! This is neighbor #7, the invisible neighbor.
I'll see if I can find where the 0x35 gets inserted into the geo table.
Edit: It's from the save file itself.  The getfatherland() function loaded the value into the geo table.