Significant work has been done,
The internal 'loop()' of the code has been re-worked to implement a state machine based on the LED status, and running at a fixed(ish) rate. Lots of timers are then used to check temperatures, adjust fans, sense buttons etc. The new architecture has made adding new features (lid open/close, feeding reminder) later.
Auto off after 7.5hrs is implemented, with a countdown timer.
(Demo/Debug rig with a Teensy Pro (5v+FTDI) that I develop on.)
Hardware-wise the LCD backlight drive now comes from the spare PWM pin on the board. Allowing the backlight to be faded down at night.
This also involved changing the sound library to a 'timer free tone' version since using tunes was killing the PWM signal to the backlight *and* the fan... not good. But the solution is quite nice and I have swapped out the cheezy tunes fro some simple ones based on the WindowsXP system sounds :-)