you are not prompting SW to save the individual bodies..
toggle the "include reference components" when saving as an asm.
Another reason is some of the parts use same name and the files got mixed up.
An example is when I import a right hand and left hand assembly.
Some of the parts are same in the assemblies so it create same filename.
When the files are save to same folder, they got overwritten.
So I end up put the STEP files in separate folders before import.
There was something going on with the file names. Doing a Pack and Go before closing it the first time and adding a suffix to each file name solved the problem. Thanks.
Another reason: Path too long and the name got cut off when save.
When the file come in a zip file with a long name, it'll be unzip into a folder with long name. Most likely the parts has long name also.
When the path get more than 260 characters, it all went wrong.