Eu fiz um "experimento" com meu telefone (Samsung Nexus S, Android 2.3):
Configurações -> Data e Hora -> Automático -> OFF
Depois, defino manualmente o tempo com um valor errado (tempo real + 5 minutos). Eu desliguei o telefone. Com desligado, quero dizer realmente desligado, não em espera, o status em que o alarme não funciona. Depois de alguns minutos, liguei novamente.
O tempo exibido ainda era o valor errado que eu defini antes, ou seja, o tempo real atual atualizado + 5 minutos.
Isso significa que o telefone deve ter um relógio interno que funcione mesmo quando está desligado. Na realidade, pode não ter um, mas deve armazenar o delta entre o tempo atual obtido da rede e o tempo que eu defini; no entanto, isso parece bastante irrealista.
Então, isso me faz pensar que os telefones Android têm um relógio interno com bateria própria e isso deve poder inicializar o telefone no momento apropriado.
Pode estar faltando algo no próprio sistema operacional Android?
PS: Alguém sabe se é possível fazer o telefone acordar em um horário específico? Se foi, devemos apenas inicializar cinco minutos antes de o alarme ser definido ...