I found that IdleTimer function set up by myapp->SetIdleTimer()
doesnt raise in myapp->Run() function on winntgdk system (windows xp, root v4.xx)
on linux/cygwin everything is o.k.
Looking closely into Run() function I saw
dispatchoneevent function sandwiched between
gapplication->startidleing() / stopidleing() calls.
I cant figure out the reason to do that and ,more.
I would expect such combination might not work as timers
always reset just before dispatchoneevent is called
(if gapplication==myapp which seems to be my case).
So I did remove the above pair of calls
and everything works great now. Unix version also keeps working.
unix/win difference seems to be due to different select functions.