I'd vote for a corroded switch or wire connector here. Nothing much goes wrong with the flywheel magneto. The light is run by AC from the magneto's lighting coil, and this is produced when a strong magnet on the flywheel passes near that coil.
Corroded or otherwise defective electrical connectors are difficult to diagnose but simple to repair. Assume that every terminal, switch, or any other part of the wiring is defective--that is, it won't conduct electricity--until proven good. Build yourself a 'continuity checker' with a battery, a buzzer or bulb (buzzer is handier) and a pair of wires which, when they touch, will make the buzzer beep. Continuity testers are cheap, too--eBay should have something for a few dollars.