I think the CoD field isnt set on discovered devices
BluetoothRadio.PrimaryRadio.ClassOfDevice works fine resulting in a hex value like A01234 (6 hex values)
but the CoD on discovered devices isn't set
BluetoothClient cl=new BluetoothClient();
BluetoothDeviceInfo[ devices=cl.DiscoverDevices();
foreach(BluetoothDeviceInfo device in devices)
{
//device.ClassOfDevice always returns "0" and not a hex value length 6
}
perhaps you forgotten to set the class of Device field?