Yes, I did saw the list including more devices.
To overcome the issue with android not triggering an event/intent I have changed the wait() from waitForConnect() to wait(500), essentially pooling for the accessory (same for the device connection). When a fast reconnect happens is when you may end up with more than one accessory in the list.
Most probably this requires some changes in connection bootstrap open() method to not simply default to the first return accessory/device, and probably some changes in the state logic. (but I am sure you know better)
USB attache intents are activity intents, where usb detach intents are broadcast intents.
So instead off pooling, one can use an translucent activity to receive attach event in onCreate, and then simply finish (before setContentView, so the activity is actually never visible), and send the event down to IOIO connection manager.
I didn't follow any of this to a full working solution (time constraints), I decided to stick with USB connection.