There are a couple of things that you can do in Native to deal with these situations. You may be already doing some of these so skip paragraphs that don't apply to you the descriptions are unavoidably wordy.
Firstly file ownership probably needs to be controlled. Otherwise you get the he who files last files longest scenario, in good measure with he who files first maintains a lock on the file and overwrites you depending on your network. Usually with NX it will give you the file has changed on disk warning and refuse to overwrite the other guy, and that may be the only time that you find out about changes that are going on around you. In windows the way to go is to set up creator owner access, and in Unix styled systems it is done with the standard user group world ownership controls whereby setting up groups is the way to go.
Secondly you would probably want to set up file name versions. If you're doing this for the first time then you need to name the part files so that they fit into a naming convention that will be interpreted by NX to determine which is the latest version. The best flavor of this in my opinion is the Military System, used also for designating software releases. It takes a few meetings and some setting up to come up with a system that suits you, but it will help with the visibility of what is occurring in you work flow.
Teamcenter does work differently and provided that you implement workflow the ownership of files is thoroughly managed for the life of the product. Teamcenter does however only spawn an NX session in which the assemblies work in pretty much the same way and have identical problems to what you may currently be experiencing as I will mention below.
What I think you may be referring to is what Simon touched upon. The Assembly structures need to be updated. We've posted at length about this, and for very large assemblies I also struggle to keep the system up to date. The Assemblies maintain a memory of what their structure was in terms of the list of components, when sub assemblies change and you re-open the to assembly with the structure only option set (as most of us using larger assemblies do), then the list of components in the sub assemblies may be out of date. That's one of the things that update structure is used to address.
In a single session as long as somebody saves their changes you should be able to re-open the parts and assemblies and always see their change. To do so always close and re-open the assembly. Close assembly rather that close part from the ANT is what I recommend you to use if you're having trouble with this.
Oddly enough referring the the case directly above we have had some trouble with this in teamcenter where some projects aren't using workflow and refreshing the locks causes problems by not working properly.
Hope you had a good read
Cheers
Hudson