I know this thread is 6 months old. Not sure if you've solved the problem since, or just given up on it
I posted this on a similar thread. I figured I would repeat it here in case you are still having issues.
It is the CDI unit. Takes about 15 minutes to replace it. Remove the passenger-side fender liner, unplug the unit and wiggle it up. there will just barely enough room to clear the front fairing. Replace, re-connecting the wires, and re-attach the fender liner.
A few notes:
First, On the 1986 (and probably up), there are only three things that the neutral wire is hooked up to.
1) The neutral light
2) The starter
3) The CDI unit.
Second, if you remove the rear seat and look at the wiring harness, you can plug the neutral light line (light-green/red) into the ground line (green) for the oil temperature sensor. This lets you ground the neutral switch even if you break down on the trail and don't have any tools with you.
Third, the neutral switch grounding override hurts your performance. The CDI unit advances the timing when not in neutral to better handle load, similar to the vacuum advance on a distributor.
Fourth, you can test for the problem by disconnecting the neutral switch at idle (either under the seat or underneath the black panel below the clutch adjustment screw). If it stalls out when you disconnect, it's definitely the CDI and not the clutch bearings or anything else.