Forget about your kiln controller sketch for now and write a minimal sketch that only helps you understand how the TimeAlarms library works with the minimal amount of unnecessary complexity (print to Serial Monitor or blink an LED). Likely that will make it clear to you what needs to be done. If not, then it will make it very easy for us to provide assistance.
Now this might be something you don't want to mess with now since you're already struggling, but my recommendation is to put all the kiln cycle data in an array. That will allow you to easily modify the cycle parameters, have multiple cycles, and will make the code cleaner. Here's how I have my cycles defined:
//time parameter of 0 indicates a hold, it will stay at the specified setpoint indefinitely.
//I have used the Northstar soak durations for each step except for the final ramp, the ASGS initial annealing temperature, and strain point temperature adjustment(extrapolated for >.5" wall thickness), and the 90F second ramp endpoint. I used the Contemporary Lampworking fast cool equation for the final ramp duration
const int program[][programStepCount][2] = { //[programID(max 99)][programStep(max 99)][parameter(0==setpoint, 1==time(minutes))] - this is not unsigned so I don't have to convert to int for the setpoint change calculation in ramper(). The setpoint cannot be higher than alarmKilnTemperatureHigh2Value because of the sanity check in the PID code section
{{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, //0==off
{{garageLowPoint, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, //1==low garage
{{garageMedPoint, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, //2==medium garage
{{garageHighPoint, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, //3==hot garage
{{annealPoint + 9, 60}, {annealPoint, 30}, {strainPoint - 18, 12}, {strainPoint - 18 - 90, 33}, {offPoint, 2}, {0, 0}}, //4==0.25" anneal
{{annealPoint + 9, 120}, {annealPoint, 102}, {strainPoint - 36, 30}, {strainPoint - 36 - 90, 48}, {offPoint, 8}, {0, 0}}, //5==0.5" anneal
{{annealPoint + 9, 180}, {annealPoint, 192}, {strainPoint - 50, 48}, {strainPoint - 50 - 90, 60}, {offPoint, 17}, {0, 0}}, //6==0.75" anneal
{{annealPoint + 9, 240}, {annealPoint, 270}, {strainPoint - 72, 60}, {strainPoint - 72 - 90, 105}, {offPoint, 31}, {0, 0}}, //7==1" anneal
{{annealPoint + 9, 360}, {annealPoint, 435}, {strainPoint - 100, 75}, {strainPoint - 100 - 90, 113}, {offPoint, 69}, {0, 0}}, //8==1.5" anneal
{{annealPoint + 9, 480}, {annealPoint, 600}, {strainPoint - 144, 90}, {strainPoint - 144 - 90, 120}, {offPoint, 110}, {0, 0}}, //9==2" anneal
{{annealPoint + 9, 600}, {annealPoint, 930}, {strainPoint - 200, 135}, {strainPoint - 200 - 90, 180}, {offPoint, 183}, {0, 0}}, //10==2.5" anneal
{{annealPoint + 9, 15}, {annealPoint, 1}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, //11==DelayedOff
{{decalDryPoint, decalDryTime}, {decalDryPoint, decalRampDuration}, {decalPoint1, decalHoldDuration}, {decalPoint2, 1}, {0, 0}, {0, 0}}, //12==extra
{{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}} //13==coolOff - used for emergency cooling
};
This uses the same cycle definition system as the commercial programmable temperature controllers do.