TCP/IP can't resume a connection if your IP address changes. That was unusual in the old days, but now it's common. I've seen it happening sometimes when hopping from one 3G base station to the next, and of course it always changes IP address when switching between 3G and WLAN.
Also, fwiw, TCP/IP doesn't do very well if your connection is down for, say, 30 seconds. It may recover, but it'll sometimes take another 30 seconds to notice after the connection comes back. If your connection is down for 120 seconds, TCP/IP won't recover at all if there is any outgoing data in flight, because it'll time out.