What is your SoFStartZoneID rule set to in the rule_values table? If it isn't -1, and you are using a client newer than Titanium, it will send new characters to the safe point in that zone per this code:
https://github.com/EQEmu/Server/blob...ient.cpp#L1442
I am guessing you set that rule to 397, and that will override your start_zones table settings for SoF+ clients.
EDIT: Actually, by setting your start zone in the variables table, you are overriding the settings in the start_zones table (shown in the code link above as well). So, you will need to remove that row from the variables table to allow the start_zones table to handle the location properly.