I guess another thing to try which might confirm things is - can you jsut set a ping running from the command line through the tunnel. While the ping is running does the tunnel continue to work? (ie if there is data transferred every second with no gaps is that enough to keep it open?)