Not sure if you are aware of this, but alarmRepeat does not work for midnight. E.G.
Alarm.alarmRepeat(0,0,0,myHandler); // This does not call myHandler
I found I had to set the alarm for 1 sec past midnight for it to work.
Alarm.alarmRepeat(0,0,1,myHandler); // This does call myHandler