First of all, thanks for posting a lot of information here.
I am new to this hobby and I have been writing a timer code for CDI for a couple of months. I have studied scope data and codes found on RCU or the other site. So far, my very first version of code (POC

roof of concept) written in CCS-C works okay on a glow 4c-90 engine.
Jake, I have a question about triggering SCR gate. I am using the hardware that is similar to the schematic of RCexl, and the spark occurs when HV output's falling edge. (GP1 become high to low) But your code seems expecting the spark when GP1 set to High. How the turning-on of SCR works?
sGPIO.GP1 = 1; // Turn on HV output (GP1) bit in shadow
sGPIO.GP0 = 1; // Turn on LED/tach (GP0) bit in shadow
GPIO = sGPIO.ALL; // Update GPIO <- expecting spark here ?
__delay_us(Dwell_Time); // Load dwell time (uS)
sGPIO.ALL = 0; // Turn off all GPIO pins in shadow
GPIO = sGPIO.ALL; // Update GPIO
Jay.