If you just want to do "part clean up". You can write a macro or a .dll as a post action to File ->Open(user exit). We have done a lot of thing this way.
Part clean up can help solve most of these issues. I have noticed this issue, worked with GTAC and seems we could not come up with anything specific except that there was a specific part in the assembly that was corrupted. We could not tell what corrupted the part....
Loading the part by itself...
Check what your load preferences are set to and I think John nailed important points on this. Your load behavior depends on those preferences and remember, to check, site and local user preferences as well.