Ok, for anyone who has this same issue here is how I reset the IP restriction for a particular user. Just to recap the problem is that some international users (specifically Germany) can generate a new IP every 24 hours due to some weird ISP stuff that have over there (source:
http://de.wikipedia.org/wiki/Zwangstrennung). On top of that there is some bug in S2member where the logs are not getting reset entirely (timeout penalties) and may not be incrementing correctly (I had some penalties dated for December and I've got it set to a 15m penalty).
So in short some users would get locked out with 503 errors and no matter how many times I hit the reset button in S2member those users were not able to gain access unless the signed up for a new account each time.
So... thanks to Webber's sleuthing above here is the resolution:
1) have the user send you there last IP address. In this example we'll pretend the IP address is xx.xxx.xx.xxx.
2) Go into phpMyAdmin and search your wordpress database for that IP address. It should pull up a row in wp_options that contains a column called 'option_name' that look something like this:
a:2:{s:14:"xx.xxx.xx.xxx";i:1284444427;s:13:"xx.xxx.xx.xxx";i:1286561693;}
a:2 - To break this down the "a:2" at the beginning stands for "attempts: 2" showing the # of IP addresses that have attempted access.
s:14 - I don't know what this is
xx.xxx.xx.xxx - this is the IP address recorded in the attemps
1286561693 - this is the UNIX timestamp of the login attempt. You can decode that using
http://www.onlineconversion.com/unix_time.htm .
3) To drop this from 1 attempt to 2, for example, simply update the value on this row to be:
a:1:{s:14:"xx.xxx.xx.xxx";i:1284444427;} and S2 will let think the user only has 1 login attempt.
Cheers
Mark