104.dat is a part if loaded directly. However, the 104.dat referenced inside 71185.dat is not a part. This can only be determined by examination of the model tree at run-time. In LDView, that means that one instance of 104.dat might be treated as a part, while another instance in the same main model might be treated as not a part.
Frankly, if someone has a file in their model that they feel should be a part, and either they or the author of the file couldn't be bothered to include a single line in the file with an unofficial part meta-statement, then I don't have much sympathy for them.
Having said this, LDView has been around for so long that it has quite a number of meta-statements that it recognizes as signifying a part, and furthermore, any file loaded from a directory it considers to be a parts directory will also be considered as a part (unless one of its parents in the tree is a part, as stated above).
Frankly, if someone has a file in their model that they feel should be a part, and either they or the author of the file couldn't be bothered to include a single line in the file with an unofficial part meta-statement, then I don't have much sympathy for them.
Having said this, LDView has been around for so long that it has quite a number of meta-statements that it recognizes as signifying a part, and furthermore, any file loaded from a directory it considers to be a parts directory will also be considered as a part (unless one of its parents in the tree is a part, as stated above).