I was re-reading over my messages and I remember something I forgot when I replied to your post before.
Yes, I did have blocking issues when I knew data was ready. The situation occurred for me when opening the second FTP socket connection for the data connection. After sending the ftp GET request, there would be return data in both the command and data connections available, however the command connection was blocked and would not let me ready the GET response code. The data connection was readable.
Anyways, these issues went away after I started using the deviceside=true along with specifying the APN values in the TCP options.
I still have occasionaly issue with getting a Malformed or Bad DNS exception when attempting the connection. This only goes away with a device power cycle or turning the radio off/on. I think this is a OS bug.
Are you getting yours to work now?