As you know remote Bluetooth device name reading with MS driver is a little bit problem. However there is a solution.
To simple read device's name just call wclBluetoothDevice.GetName method in about 3-5 seconds after discovering has been finished (good idea is to use timer without blocking main thread). It's not bad to use with all supported Bluetooth drivers.
If your device already found and you need just refresh its name (if it was changed by some reason) there are 2 possible ways:
The first one (works on Vista and Win7) is simple rediscover devices. After rediscovering has been done new names will be returned by GetName method.
The second one is for Win XP because on Win XP simple rediscovering doesn't refresh the remote devices names. On Win XP you have turn your device off. Rediscver devices. Then turn your device on and rediscover devices once again. In this case Win XP updates devices names. To make it working faster use short Timeout value (1-3 seconds) for Discovery method.