Use ATL's CComBSTR as the key type instead of BSTR. CComBSTR overloads operator< to do actual string comparisson, rather than pointer (address) comparisson as you are currently doing.
CComBSTR also simplifies lifetime management. Using BSTR as the key type, you have to make sure that the BSTRs outlive the lifetime of the map (actually they have to be deallocated right before the map is destructed). CComBSTR follows the RAII principle so you don't have to do any manual deallocation.