Wow that's really interesting, I didn't know SSRs can have timings in the order of seconds. I just assumed it was in the order of milliseconds.
The PID algorithm is used to "time-slice" a 5000 millisecond period of heater-time. Very slow Pulse Width Modulation (PWM) if you like.
So if we are seeing a rounding-to-zero, or limitation of SSR switching speed for small times, it may be worthwhile to change the period to something bigger (HEATER_WINDOW_SIZE, line 103).
If I understand the numbers correctly, that would make the 1% output a 6 second window-part rather than 3 sec. Obviously there is a trade-off in responsiveness here, since now you can only plan 10 seconds at a time, rather than 5.