SW can find the parts after you move then - you just need to tell it where to look.
in the system options - file locations - referenced files option list all of the folders (and sub-folders) where you will move files TO. SW will then look in these folders along with the last known location when trying to find any file.
If you're not familiar with it, the Pack and Go function can be very helpful for copying an assembly (or drawing) and it's part files to a new location. Then you can go back and delete the originals if you want.
If you just use Windows Explorer to move files around, then you will run into the problems you are seeing. The SolidWorks assembly file contains pointers to the parts, and it has no way of knowing that you moved them. If you save the parts to a new location while the assembly is open it updates properly. You can also use SolidWorks Explorer to move the files outside of SolidWorks because it will update the SolidWorks assembly file with the right pointers. As Glenn noted, Pack and Go works really well when you want to copy all of the assemblies and parts to another location.