So I got the FTP working now on my Droid3 phone (thanks to both of you).
I went into my settings and turned off the WiFi. I'm using the ToggleLibrary to detect both wifi and the data connection. It correctly shows wifi has dropped off and the data connection is still there (as expected).
However, this change of events now prevents the FTP from being able to download. It tries to download (out of the service module) but never completes it. Do I have to reinitialize again or is there something else I can try? I'm initializing in service create.
Update: I got the FTP to start working again by reinitializing the FTP in the code. My ServiceStartAt is every 5 mins and I set a flag to detect that the download completes or not. When Service comes back around in its cycle, if the last download didn't complete (it's a very small text file so it normally completes within a few secs) I check the download complete flag and if it didn't complete, that's when I do a reinitialize.
So further digging into this problem reveals why this happens: when the initial FTP connection is made, an OS handle is associated with the FTP session. Much like a handle being returned when you open a file. When you manually disconnect the wifi, the handle is no longer able to point to that wifi session. So you have to .CloseNow and then re-initialize the FTP session to the only remaining internet connection you have (on a phone at least) which is the DataConnection. Then the FTP will work with that connection.
So for anyone using FTP in your app, you need to be aware of this important possibility: on a phone with both a wifi and cellular connection to the internet, if the user manually turns off their phone's wifi, your FTP will no longer work until you issue a re-initialize statement to connect to the data connection.