Everything ferday said is correct. But I'm not sure if simply saving the tags to the files will preserve things like Play Count, Skip Count, rating, and other non-standard fields. Certainly for some types of files (like WAV), you'll lose all of that information if you are simply relying upon the tags in the files.
This is why I generally recommend one of these methods for moving files from disk to disk:
A. Use Rename, Move, and Copy to move the files to another drive. You can use the Copy (and update database) mode to make a true copy and update MC's library location at the same time. Or you can use Rename mode, which will move the files, effectively deleting the file from the original location and copying it to the new location. This is a good method and it's "perfect" in that it does everything for you, including the file moves/copies and updating MC's database (library). I don't like it for large moves though, because it doesn't report detailed status, and I wonder what's going on while it's doing the moves/copies.
B. Move or Copy the files externally using a different tool. You can move/copy the files with Windows Explorer or another tool that you like. I tend to use Rsync a lot, but that's just me (and I use a Mac). After the files are copied over, *then* you use Rename, Move, and Copy files in Update Database mode to point to the new location. You can usually do this task by using the Find & Replace option inside of the Rename, Move, and Copy tool.
http://wiki.jriver.com/index.php/Rename,_Move,_and_Copy_Files#Find_.26_ReplaceOption B is my preferred method, as it gives me complete control and status. The RM&C step is generally lightning fast in this case, as it is just updating pointers in MC's database (library).
Both of these methods preserve every single database field without relying on them being written to the file tags. There are other ways of course, but these two are the most guaranteed and straight forward in my opinion.
Brian.