What about reading the current TickCount from the shared user page?
Am 29.01.2014 01:25, schrieb hbelusca(a)svn.reactos.org:
  Author: hbelusca
 Date: Wed Jan 29 00:25:43 2014
 New Revision: 61875
 URL: 
http://svn.reactos.org/svn/reactos?rev=61875&view=rev
 Log:
 [NTVDM]
 - Enable experimental sound support (only PC speaker for the moment, aka. uses beep.sys).
 - Introduce a #define WORKING_TIMER which aim is to disable the currently problematic
approximate performance counter value calculation done in order not to call
QueryPerformanceCounter each time.
   The problem is that we then compute a number of clock ticks for the PIT, which becomes
negative, and therefore everything starts to hang.
   Disabling this code and calling each time QueryPerformanceCounter, fixes everything; we
gain in precision but we loose in performance...
   A definitive fix must be found, [TheFlash] !!
 This fixes sound (and hangs) in Advanced NetWars, Dangerous Dave, ElitePlus and Rescue
Rover (the games that I've tested so far).