OK I see that in your second version. In the first you cleared it only on power-up when the GoSub SetTimeAndDate was used.

Are you driving the LED directly from the alarm output pin or using a transistor?