Does my question not make sense? Or is nobody else running into this issue?
Thanks all for any input/insight/work-arounds etc.
Your question makes perfect sense, software serial doesn't have serial.available, so when you break a loop to check a device, there is no way to get back to that loop unless the device does something.
There should be a "BIG sticky" about this on the SS page, because unless you know about the missing serial.available function, and what it implies, an enormous amount of time can be wasted implementing it.
The solution we're throwing around at the moment, is porting to ATMEGA128 and the wiring board, or, using I2C, which does have a .available function.