I think Source mods can only be installed in the main Steam Library folder, since they're based on the old .GCF format, which doesn't support multi-library installation.
However, you can do a small trick to make Steam think the game is on its original drive:
- Open a command prompt in your original Steam drive's SourceMods folder. (Shift-Right click the folder's background and choose "Open command window here")
mklink /J BMS D:\Steam\SteamApps\sourcemods\BMS.
- Restart Steam.
That command creates a NTFS Junction: a sort-of symbolic link for directories on Windows. Junctions are the earlier kind of Windows symlinks (Vista added full-capability symlinks for files and folders), but it's also the only kind that's fully transparent unless the application specifically asks Windows if the folder is a Junction.
Basically, Steam will now see a new folder called "BMS" and once it enters it, it will be able to access every file in the actual folder (which is on drive D) as if it was on its own drive, transparently. However, if you move the original folder, you'll have to recreate the link.
I use lots of these for all kinds of purposes, like redirecting Documents/Music/Pictures/etc. from my SSD to my data drive, redirecting game save directories to Dropbox for cloud syncing (for games that don't support it), and moving games back and forth between my SSD and my games drive. Right now, L.A. Noire is sitting on my SSD while Steam believes it's on my Steam drive.
It's also a fully-supported, native feature that Windows itself uses for some folders, so you can count on it.