Talvez eu esteja respondendo cedo demais, mas monitorar e tomar nota de cada processo inicial e final não é possível. A razão para isto ser muitos processos de inicialização são gerados como daemons que não terminam ou são terminados depois que terminam algum processamento inicial; eles ficam em segundo plano monitorando, processando ou respondendo a certos eventos. Os daemons geralmente não transmitem mensagens "concluídas", "encerradas" ou qualquer outra mensagem de evento relevante, desde que ainda estejam em execução.
Sua segunda abordagem é, portanto, quase impossível, porque não há garantia de que um daemon faça um trabalho pesado - ou qualquer processamento -, logo é acionado. O Windows e quase todos os outros sistemas operacionais modernos executam serviços e iniciam programas simultaneamente.Uma coisa que não entendo é por que você não começaria a usar o computador imediatamente assim que o botão Iniciar fosse exibido. Se você sentir que o tempo de inicialização do seu computador é muito grande, considere otimizar o Vista minimizando os programas de inicialização, desfragmentando a partição do Windows, etc. Por fim, se você tiver menos de 2 GB de RAM no computador, adicionar outro gigabyte provavelmente dará um impacto notável.