Feels weird replying to a 5 year old thread, but I found this when I was googling for an answer to this issue. I have at least found a workaround. I have seen similar topics on other forums with no real suitable solution. So here goes. . .
The issue does appear to be related to the I-PAC "Shift" key, which is set to be the Player 1 start button (Number 1 key on the keyboard). I believe it is related to the fact that the I-PAC shift key does not send the input until you release the button, vs other buttons sending the input when you press the button. I tried two different emulators and had the same issue. Something I did notice is that if I would rapidly press the "Start" button I would eventually unpause the game, but this seemed to always happen at random times during the pressing. You can fix this in one of two ways:
1) Just map the SNES emulator start key to something besides the I-PAC "Shift" key.
2) Set the "Shifted" option for another button in WinIPAC to the same key as the I-PAC "Shift" button, and use that combo to "unpause" Super Metroid. (so, hold down the Player 1 Start button and then press your button you configured the "Shifted" option for here - in my case it was the Player 1 COIN button)
I did option 2, because my control panel is set up a pretty specific way so I didn't want to swap the "Start" button out with something else. I'll just deal with having to perform the steps in option 2 when I want to unpause the game.
As for why this only affects "unpausing" in Super Metroid, but not "pausing" or any other game that uses the "Start" button? My guess is that the Super Metroid pause screen is expecting the "Start" button input on some very specific timing, and the I-PAC not registering the "Shift" button input until you release the button is screwing with this timing. So in other words, I think it may actually be related to the game code itself!
Hope this helps someone else.