WOW! mate that's awfull. I had a similar situation with a family member, what I did was get a court order against him so if he came whithin 20 yards of me he would be arrested, it was served to him in person by a court official so I knew he got it. Never saw him again. Not sure if you could do something similar? Hop it gets sorted.
If you use a circle as a location you can use the centre of that to pinpoint the waypoint, looking at Popey's code it looks like that is what he is trying to do using the waypoint_id but if I rememer correctly (not forgetting the senile part) these locations have a tendency to bury themselves way below the terrain which can hide the objectives waypoint text.
So yeah I normally used a marker to get the coordinates for the waypoint correct.
All this scripting talk makes it just like old times Spik@.
Had another look at your script and noticed you have setup an extraction objective so I cant quite see why it doesn't work but the code for that objective differs slightly from what I have used.
Here is one of mine:
<element type="Objective" id="obj16" state="add" headline_id="Head To Extraction" waypoint_id="Extract" waypoint="18034.486 8370.5527 1580.3784"/>
I see you have minus values set in your waypoint, this may be ok depending on the altitude of your extraction point but worth a check.
I used to place a marker at the centre of the extraction point then find that marker in the world.xml and use the values from that for the waypoint.
Again I'm sorry I cant be more help but I've forgotten most of what I used to know about scripting.
You are more than welcome to unbundle any of my missions and use what ever you want for your missions, all I ask is that if you release any of them to the public give credit to me for anything you use in the description.