As far as I can tell, this comes down to two problems: the most obvious technical challenge is the difficulty of detecting soft failures rather than hard failures. What they need to implement is a hard timeout which resets the connection state if the remote end fails to respond correctly within a set interval. I encounter this regularly commuting on the subway or taking underground tunnels between buildings; toggling airplane mode is the only way to get it to accept that the base station (WiFi or cellular) it was talking to 1500 feet back is never going to start responding.
The social problem appears to be that nobody considers this a keynote demo feature and so it hasn't advanced beyond iOS 1.0 despite years of bug reports.