Hi,
I'm not that familiar with the code but the way you suggest will only call FlashyFlashy when minutes is 15 - not more, not less. If you want FlashyFlashy to keep executing all the way to 0 you need IF MINUTES <= 15 THEN You could also streamline it a bit, there's no real need to check and reset MinutesChanged twice, perhaps something like
Code:
IF MinutesChanged THEN
    MinutesChanged = 0

    IF Minutes <= 15 THEN
    GOSUB Flashyflashy

    IF Minutes = 20 THEN
    HPWM 1, 0 , 30000
    POWER = 0
    LEDS = 0
    CURRENT = 0
ENDIF