The code you sent in direct message looks good to me!
One thing you could do differently instead of having a counter variable is keep track of the time you out your gear down:
gearDownStartTime = tick()
and then change the function to:
function GearDamage()
if dead then return end
while (gearDown and speed.Value >= gearThreshold) do
print("Gear's down, going too fast")
if tick() - gearDownStartTime >= 10 then
print("oop ded wheels")
plane.Misc.LandingGear:Destroy()
gearIntact = false
return
end
wait(1)
end
end