The short answer is that you haven't referenced i anywhere... as you have it, this is the equivalent to
Application.OnTime Now + TimeSerial(1, 0, 0), "RunThisProc"
Application.OnTime Now + TimeSerial(1, 0, 0), "RunThisProc"
Application.OnTime Now + TimeSerial(1, 0, 0), "RunThisProc"
Application.OnTime Now + TimeSerial(1, 0, 0), "RunThisProc"
Application.OnTime Now + TimeSerial(1, 0, 0), "RunThisProc"
Application.OnTime Now + TimeSerial(1, 0, 0), "RunThisProc"
Application.OnTime Now + TimeSerial(1, 0, 0), "RunThisProc"
Application.OnTime Now + TimeSerial(1, 0, 0), "RunThisProc"
Application.OnTime Now + TimeSerial(1, 0, 0), "RunThisProc"
Application.OnTime Now + TimeSerial(1, 0, 0), "RunThisProc"
Application.OnTime Now + TimeSerial(1, 0, 0), "RunThisProc"
Application.OnTime Now + TimeSerial(1, 0, 0), "RunThisProc"
which will trigger "RunThisProc" twelve times 1 hr from now.