It may be wrong for me to answer but since most of the operational code of mclarson seems to be derivated from mine, I'll answer point 3. Put bluntly, your script doesn't fully work for me. When using my wi-fi at home the n900 receives 1 packet of 42 bytes or so every 20 (aprox) seconds. I've tested other 2 wi-fi spots and got another similar situation and another one where I don't receive any packets (and your script would work). Same configuration in the device. That's why I decided to use a small amount of bytes to asure the connection is idle and those are random packets.
I don't use TX due to the low traffic and the possible erroneous disconnections that it may cause.