Need Help Making Collision with Ground Work Correctly

As mentioned, displaying the ray is a great choice.
Unfortunately, when you do, you’ll end up with the exact same problem.
Your code in Update() is wrong, I had already pointed it out to you, you replied that you understood it, but you left it as is.
Get into the habit of formatting your code, we’ve already said this too.
This way you can see your mistakes better.

What you are doing is saying that when SandyAirborne = 0 the animation should be that of flight.
But your incorrect coding means that after each raycast, in which you set SandyAirborne := 0, you check whether SandyAirborne = 0, and set the flight animation if it is. And since it is, you will always have the flying animation, even when the character hits the ground again.