Second:
the timeout of the first problem, can depend from the msecs() function ? In the file Core/Debug.cpp, line 7, msecs look like don't take in account of the overflow of GetTickCount()...
Usually, when using GetTickCount(), we are using subtraction, so any overflow will be covered unless the timeout is more than 31^2 ms.