o comando EXEC(macro.txt,flag); e meio bugado realmente, não funciona com muita perfeição, mas nunca usei $$<macro.txt>, mesmo com bug uso o exec();
e quando usar o exec(); não precisa iniciar a macro que vai ser executado com o $${}$$.
a variavel %TIME% não é entendida como numero mas como string, pra fazer ela virar numero tem que retirar os " : " da variavel. e refaze-la. Assim podes usar " >= ", para quando passar ou se igual a hora desejada executar ou fazer uma tarefa, e isso tu saber fazer pq ja te ensinei, so falta aplicar.