Just on the last point for now, the docs say the following. :-)
This message is sent when any of the following attributes of a remote Bluetooth device has changed: the device has been discovered, the class of device, name, connected state, or device remembered state. This message is also sent when these attributes are set or cleared.
And here's some output from my test program, this is when I'm doing a Bluetooth->AddDevice. Note that the first event is the device being discovered, then the event in the next second is the event saying "now got the name!". Subsequent events are pairing and disappearance.
13:30:58 GUID_BLUETOOTH_HCI_EVENT
13:30:58 GUID_BLUETOOTH_RADIO_IN_RANGE 0x0009997723F3
is (Address, Cod, Connected) 0x00000023 was (Address, Cod) 0x00000003
13:30:58 GUID_BLUETOOTH_L2CAP_EVENT
13:30:59 GUID_BLUETOOTH_RADIO_IN_RANGE 0x0009997723F3
is (Address, Cod, Name, Connected) 0x00000027 was (Address, Cod, Connected) 0x00000023
13:31:16 GUID_BLUETOOTH_RADIO_IN_RANGE 0x0009997723F3
is (Address, Cod, Name, Paired, Personal, Connected) 0x0000003F was (Address, Cod, Name, Connected) 0x00000027
13:31:16 GUID_BLUETOOTH_L2CAP_EVENT
13:31:16 GUID_BLUETOOTH_L2CAP_EVENT
13:31:16 GUID_BLUETOOTH_L2CAP_EVENT
13:31:16 GUID_BLUETOOTH_RADIO_IN_RANGE 0x0009997723F3
is (Address, Cod, Name, Paired, Personal) 0x0000001F was (Address, Cod, Name, Paired, Personal, Connected) 0x0000003F
13:31:16 GUID_BLUETOOTH_HCI_EVENT
I want a quick read through of the source before I upload it. Maybe you want to try your other method first anyway.
Alan J. McFarlane
http://www.alanjmcf.me.uk/
Please follow-up in the newsgroup for the benefit of all.
Have I helped? Consider visiting my Amazon wishlist, see my homepage.