@charles: Just some thoughts about networking performance:
Is the 1/4 second round trip time independant of the amount of data being sent?
1) You can compress data, though you are probably constrained by the limited device capabilities.
2) It seems odd that threading would cause a 1/4 second roundtrip. If you can confirm that, say by writing a single threaded python program that talks to the device in test mode, then there might be something you can do to alleviate the problem. Some ideas: Use a more capable networking library, like zeromq. Or write a C extension that releases the GIL during each "session" of talking to the device.