My application sends a command to the device to change it's friendly name, the device disconnects, the application then waits for reconnect, when the device reconnects bluesoleil and WCL both report the old device name. The only way i have found to get bluesoleil to reveal the new name is to run the 'refresh services' function in their manager application.
I have tried enum services (hoping it would replicate the behaviour of the bluesoleil application) and get name, but neither of these refresh the name.