Thanks Fubar for the formula for avoiding re-spawing co-ords on top of another object.
Ended up trying the tips above (thanks guys) and set-object-position was certainly the most sensible way to handle it. I did notice something rather odd with my sexp. Here is what I ended up with:
--every-time
--<
----distance
------Phantom
------Alpha 1
----50
--set-object-position
----Phantom
----rand 0 500
----rand 0 500
----rand 0 500
The sexp certainly does move the Phantom every time you fly within 50 metres of it. What is weird though... after about 4 repositions, the random numbers become smaller and smaller, no longer using 500 as a max. It was very strange and basically the max rand number range became so small that the repositions all ended up being at co-ord: 0,0,0.
Example:
1) 456, 212, 446
2) 300, 170, 387
3) 170, 78, 89
4) 86, 64, 72
5) 46, 48, 34
6) 29, 24, 39
7) 10, 12, 21
8) 4, 5, 7
9) 2, 2, 4
10) 0, 1, 1
11) 0, 0, 0
12) 0, 0, 0
13) 0, 0, 0
etc..
Isn't that weird?
At the end of the day, I don't think I want this kind of effect in my game anyway so this thread is largely moot. However the effect may be of interest to others and also the re-spawn issue for others trying to do the same thing as me.