(1) the same applies as above - but you're already using the correct version. For others that addition might be an additional help to understand your code.
(2) Check the return value of 'KillTimer()' (
http://msdn.microsoft.com/en-us/library/ms644903(VS.85).aspx) ;o)
(3) Yes, a timer callback does not need to have a window association as the docs on 'SetTimer()' (
http://msdn.microsoft.com/en-us/library/ms644906(v=VS.85).aspx) state