Because you have based your controller (Keyboard/Joystick/Mouse whatever) update on the main framerate timer, you will definitely experience problems if your framerate timer is set to too large an interval. If the timer is set at 30 frames per second (33=1000/30 on the interval setting, I believe) then controllers such as the mouse and joystick will 'cause trouble because most people move these more in this space than you are checking, especially during twitch gaming such as arcade shooters and the suchlike. A possible solution may be to assign the controller update to another timer that is set to 0, so that it is checking the inputs as much as possible and then either queueing[?] the movements to be performed when the main game timer next clicks over, when the main game timer does click over, it checks this queue, performs the movements and clears the queue.
Or performing them instantly without drawing these actions onscreen.

Another option it to set the main game loop timer to 0 and perform the actions as soon as they come in but control the framerate by checking to see if an elapsed time has passed before redrawing the screen again. Hope it's not too long winded and confusing. let me know if you want me too explaing again.