I have GPSNavx and
Charts and Tides on a 3gs with older IOS3...
GPSNavX downloads the maps as you need them. You can select the maps you will need while you are at port and have a connection, but that is not so simple unless you know exactly which
charts you will need and/or you only want a chart or two.
Charts & Tides definitely stores all the charts locally. I chose Charts & Tides over Navionics for 2 reasons. The most important reason is that Navionics only works with IOS4. So if you have not (or cannot) upgrade your phone to the latest software, don't buy it. Charts and Tides works fine with older firmware....
I would have prefered Navionics charts based on other peoples opinions. But the other really awsome benefit of Charts & Tides is the Active
Captain data, that is also stored locally, no need to connect to the
network except to update it whenever you want. I have no complaints so far, although, I haven't really used it much other than playing around, but it seems solid.
There are applications that can be installed only on a jailbroken Iphone that will let you turn on/off settings such as 3g, 2g, and
wifi separately. Its called SBsettings and is standard fare if you do a the whole jailbreaking thing...