You can't really do this with COM:
IITUserPlaylist* ownUserPlaylist = static_cast<IITUserPlaylist*>(ownPlaylist);
You're just casting an interface pointer into another interface pointer. You must do a QueryInterface instead:
HRESULT hr = ownPlaylist->QueryInterface(IID_IITUserPlaylist, (void**)&ownUserPlaylist);