Well, with this trick I have now improved my code.
All you have to do is update the label "lblClock" every 100ms and the world looks completely different.
The timer now gives just as good results as the threading library.
Spoiler: test
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create, isFirst = true **
** Activity (main) Resume **
Timer-IntervalMSec= 9999
b200.Beep
Timer-IntervalMSec= 8999
b200.Beep
Timer-IntervalMSec= 7999
b200.Beep
Timer-IntervalMSec= 6997
b200.Beep
Timer-IntervalMSec= 5999
b200.Beep
Timer-IntervalMSec= 4997
b200.Beep
Timer-IntervalMSec= 3999
b200.Beep
Timer-IntervalMSec= 2997
b200.Beep
Timer-IntervalMSec= 1996
b200.Beep
Timer-IntervalMSec= 997
b200.Beep
b500.Beep
This task took: 10004 ms
Thread-IntervalMSec= 9998
b200.Beep
Thread-IntervalMSec= 8999
b200.Beep
Thread-IntervalMSec= 7999
b200.Beep
Thread-IntervalMSec= 6997
b200.Beep
Thread-IntervalMSec= 5999
b200.Beep
Thread-IntervalMSec= 4997
b200.Beep
Thread-IntervalMSec= 3999
b200.Beep
Thread-IntervalMSec= 2997
b200.Beep
Thread-IntervalMSec= 2000
b200.Beep
Thread-IntervalMSec= 999
b200.Beep
b500.Beep
This task took: 10002 ms
** Service (smhomeclock) Start **