Não é possível executar nenhum código quando o processador está inativo, portanto você precisará usar hardware externo ou acordar o computador periodicamente e verificar a temperatura.
Para hardware externo, você pode conectar um sensor de temperatura a um Arduino e tê-lo envie um pacote Wake On LAN (WOL) com um escudo Ethernet . Você também pode anexá-lo diretamente ao cabeçalho do WOL se a sua placa-mãe tiver um, ou talvez montá-lo no comutador de energia.
Para acordar o computador periodicamente, você pode usar um Relógio despertador RTC , verifique a temperatura, reinicie o despertador e durma novamente, se necessário.
Outra ideia, e esta não é a resposta à sua pergunta, mas pode ser a resposta para o seu problema ... por que não acelera a velocidade do clock da CPU quando fica quente?