MMRESULT timeSetEvent(
UINT uDelay,
UINT uResolution,
LPTIMECALLBACK fptc,
DWORD dwUser,
UINT fuEvent
);
...
uDelay
[in] Event delay, in milliseconds. If this value is not in the range of the minimum and maximum event delays supported by the timer, the function returns an error.
From the Microsoft website.
The first parameter is an unsigned integer (UINT). Even though 1000.0/hertz returns a float, it'll be converted to an Int before being sent to the function.