I think what I said earlier would be the best option.
Could this be done by making a few datablocks (or models, not sure which) for the vehicle, then having the script run checks on the damage amount and changing the model if the damage drops below a certain level?
Checks would be once a second?
Also, 3 models: Regular, sorta damaged, really damaged?