Ok this may be a long shot and I am a sleep deprived noob, but here goes my guess:
Could you store the hit point in a vector3, then get the Y axis into a global float and assumimg your craft only flies at a certain height- you could create the object when the hit points is below your craft's y or enable the object and disable it again?? So how i imagine it:
Empty object with a child sphere Object disabled, randomly on the ground:
State1: Float compare (when raycast y is below the height you need, send event)
State2: set object position to raycast point. get child (save to variable). Activate child. Finish state.
State3: move towards (or however you move your sphere now) and a float conpare (again waititng for the y to get too high). Finish.
State4: deactivate child sphere object. Finish and return to beginning???
Knowing my luck tonight, it wont work, but maybe it will give you a view from a simplistic noob mindset and help you see something you missed before lol. Ive only used raycasts once and then scrapped it and went running back to the simplicity of colliders lol, so Im clearly no expert... Good luck.
Edit: spellchecking