You could have a thread running (as demonstrated in the chat sample) which attempts discovery once every 5 seconds searching for 10 devices.
Once the list returns you simply add the items to a dictionary, using the device address as the key. Obviously, this builds the list of detectable devices continuously, while your main thread continues executing.
Two methods you could use to discover disappearing devices are to simply use the dictionary as the running list of devices or a seperate thread could attempt connection with each item in the list, removing them when a connection attempt fails.
Btw, just wondering, but has anyone discovered how to make 32Feet BT API work with the ABE Bluetooth Controller which Microsoft is distributing via Windows Update? It's driving me nuts and I can't figure out how to remove the ABE drivers!
matt