Alright, I'll be awaiting your response.
The double buffering/v-sync should cause a small amount of lag - I'm unfamiliar with how the original SNES output is, but if it does not use double buffering in the same way, that could be one source of lag.
There is also the analog threshold issue - the original snes buttons had very little travel and resistance, and felt digital, whereas the xbox controller is analog and mushy. I'd think it'd be best to set the threshold a hair above null, so the input is caught asap.
And at 60fps, the controller should be polled at least once every 16ms.
I'm also unsure as to where the input code lies in the zsnes codepath, but it seems to me if it's anywhere but the very front it's probably not in the most optimal place.
Unless there are any other steps between the zsnes code and the display, I can't see where else there is a problem.
I know you can't see this difference, but trust me, this is not in my head. I would like to see this fixed so badly. LMK whatever else I can do.

The input code polls every 1ms. It was set at 8ms until 2.99b2. Also, the buttons are allready at the tightest threshold to avoid picking up crosstalk from other buttons. I go any lower, and when a user presses "X" it could register "X", "Y" and "A", etc....
The Xbox controller requires you to push the buttons 1/3 to halfway down before it sends a "button pressed" messge (which is what all my Xbox controllers do), and I can't do anything about that.
I could try turning off Vsync but I suspect that will provide a lot of ugly tearing.