It must be the way you have it set up. Consider this program. It works find even without the focus.
CreateTimer(1) w = CreateWindow("Test Window", 10, 10, 200, 150) t = CreateLabel("", 10, 10, 100, 20, w, 1) While WaitEvent() Select EventID() Case $803 : End Case $4001 : i=i+1 : SetGadgetText(t, i) End Select Wend