Co třeba nepoužít if-then, ale select-case?
Jinak mi přijde ten kód jako otřesně otrocky napsaný, co tak trochu optimalizace? Ty v zásadě měníš (aspoň co jsem se tak zběžně díval a co se pamatuju na VB) data přímo v ovládacích prvcích, což mi nepřipadne jako zrovna dobrý nápad.
Pochopil-li jsem to správně, děláš jakousi "minutku" na vaření vajec.
edit: abych byl přesnější: celý hlavní program lze napsat nějak takto (psáno bez vazby na nějaký programovací jazyk):
mincount=minuty
sekcount=sekundy
for i in ((minuty*60)+sekundy)
sleep 1s
if sekcount<1 then
mincount=mincount-1
sekcount=59
else
sekcount=sekcount-1
endif
"update window values"
next
run_alarm