Hmmm, I can maybe think of one more thing.... Have you checked your spark plug? Do you use the chinese plug or a replacement?
I wonder if an intermittently shorting spark plug could kill a magneto/cdi...
The reason why I ask is because I recently had some driveability problems (engine seemed to "miss/sputter" sometimes, then run just fine again) and I thought it was a dirty carb. Cleaned the carb, didn't help. I doubted it could be the plug as it was almost new and when I checked it's color the day before it looked fine. I checked it again, inspected closely..... low and behold, the electrode was loose! You would shake the plug and see the electrode jiggling around, almost making contact with the ground electrode at times!!! Changed the plug for a bosch from my other bike and the problem was gone.
I have no doubt that if the plug would be to short out completely at a high RPM then that would be hard on the magneto/cdi....