First off, I am using a 2G iPhone and running firmware 2.0.2
Okay, so I have a partial solution ... or at least some relief for some people. It involves 2 parts.
Part One - Stopping or at Least Slowing Down the Nag Screen -
UPDATE - Screen is back ... doesn't look like Step 1 works but you might want to try it
Renaming of the IAPD file. This doesn't completely stop the messages but I found that it slows them down dramatically. My phone kept displaying the message so much that the battery didn't last the full work day (~8 hours).
SSH into your iPhone. If you don't know how to SSH into your iPhone, check out this video (
http://www.youtube.com/watch?v=K2Gah8jV9G0) and navigate to the root menu. Then navigate to the path:
System/Library/PrivateFrameworks/IAP.framework/Support/
Now rename the IAPD file you found to IAPD.bak. The extension is basically a way to trick the iPhone into not finding the file.
Now DO NOT REBOOT THE PHONE!
I found that if you reboot the phone, the slider to unlock does not work. However, you can get back to normal (with nag screen) if you just name back the file to IAPD.
Now, you probably notice that when the message comes up, you don't get any sound out of your speaker when playing either music or games. You also don't get system sounds but you do get the ringer.
The reason for this is that the iPhone believes that there is an accessory connected to it that will damage it because it is not made specifically for the iPhone (bullcrap). In any case, it shuts down the speaker feature for some reason.
Part 2 - Restoring the Sound
If you are in the same boat as me, you are probably pretty pissed off with not having sound, especially for games. Well there is a work around!
Install Quake4iPhone from the Cydia installer. When you launch this program, something in the initialization actually tricks the iPhone into thinking that the Nag Screen's instruction to shut down the speaker is invalid. Thus, the sound works.
The best thing about this is that you can just launch the program and exit right away. No need to play the game unless you want to.
The speaker will work up until the time you lock the screen for longer than 20 seconds. After 20 seconds, the speakers stop working so you have to launch Quake4iPhone again.
I hope this helps. It has been a frustrating couple of months for me with this error and this seems to be the best work around until a true solution is available.
Like I said, two things to keep in mind.
1. Do NOT reboot after renaming the IAPD file. Don't worry though, if you reboot, just SSH into the phone again and take the .bak off the file name and you should be back to normal.
2. Use Quake4iPhone before you play games that require sound. I use it so much, I put it my dock.
Good luck!