As I understand the way that kills are awarded, the kill goes to the plane that did the most damage to you, while pieces coming off your plane depend on damage to specific areas. So in your example, you take one ping and your wing spar is badly damaged, but not enough to make a wingtip come off, and then the second guy shoots you up and does the little bit of damage necessary to get the wingtip to come off -- so the first hit still did more damage.
One way to do it would be to have kill credit 'expire' after a period of time. For example, if you got into a furball, got shot up a bit, and spent ten or fifteen minutes flying back to your base, but augered in because you didn't notice that you'd lost a flap and the asymmetric lift rolled you over (or lost a gear and came down too hard, etc.).
The time limit would need to be set high enough so that you would have to be in control of your plane for an extended period of time after being shot up in order to erase the 'claim' on you if you die/bail.
Another way to handle it would be for a pilot to retain a kill 'claim' as long as their target remains visible from their plane -- if your target remains flyable long enough to get out of visible range from you, then you wouldn't have claimed them as a kill. You would need to add an additional condition that you retain kill credit as long as your target remains visible to a friendly airfield (representing the people on the ground who can confirm your kill)