timeGetTime and GetTickCount are two different functions with different accuracies (the former is more precise). It doesn't make sense to alias one for the other. They both wrap around in intervals of 2^32. So if you get a negative value simply add 2^32 to it but you have no way of knowing how many such 2^32 intervals have been wrapped around (assuming it was more than one). MSDN states that:

"Note that the value returned by the timeGetTime function is a DWORD value. The return value wraps around to 0 every 2^32 milliseconds, which is about 49.71 days.This can cause problems in code that directly uses the timeGetTime return value in computations, particularly where the value is used to control code execution. You should always use the difference between two timeGetTime return values in computations."