Since I have a 1999 Rebel like yours, and I knew that there were a few switch settings that would allow the starter to engage, but not allow the bike to run, i.e. NO SPARK, and since I am not sure if you have completely ruled out switch problems as the culprit, i decided to document all the switch settings and accompanying operation on my Rebel.
If the kill switch is in the run position and operating correctly, there are no other switch positions that both allow the starter to operate and prevent the bike from running. There are several combinations that will prevent the starter from operating as well as prevent the bike from running, but if the kill switch is on and the starter turns, the bike should crank and run.
However if the kill switch is OFF, the bike will not run, i.e. NO SPARK, regardless of other switch positions. However there are a few combinations that will allow the starter to operate, even though the bike won't run.
If the bike is in NEUTRAL, the starter will operate regardless of whether the clutch is IN or OUT, or the kickstand is UP or DOWN, but the bike will not start with the kill switch OFF.
Also, if the bike is in gear 1-5, and both the clutch is IN, and the kickstand is UP, the starter will also turn, but the bike will not crank when the kill switch is OFF. The starter will not turn if either the clutch is OUT, or the kickstand is DOWN, when the bike is in gear.
Therefore, unless you have 2 switches that have both gone bad at the same time, the only switch that can malfunction by itself and cause your problem is the kill switch, if you have all the other switches set correctly.
Try cranking the bike with it in NEUTRAL, and the clutch IN, and the kickstand UP. The starter should operate regardless of the setting of the kill switch, but only have SPARK with the kill switch set to RUN.
If that doesn't get you SPARK, then in order to completely eliminate the OFF function from all switches, and therefore rule out any switches as the culprit, just temporarily disconnect the black/white wire from the ignition control module (CDI). This takes away the possibility of grounding the ignition, and it should have SPARK and RUN regardless of the switch settings if the starter will crank the engine.
If it will now SPARK, the problem is in the switches. If not, then the problem is in the ignition system itself, and the switches have nothing to do with it, and can be ruled out.
A note of warning though if you do this, all of the safety switches will be disengaged, and neither the ignition or kill switch will shut the bike down. You will have to choke it down to stop the engine. This is just for testing, and you should reconnect the wiring after you find and repair the problem.
1999 Honda Rebel CMX250C
2003 Harley Sportster 883 Hugger
1998 Harley FXDWG Dyna Wide Glide
ALL IN! GO TIGERS!