Hi @junGQMXK. That is definitely a tough situation. When all instances of assembly components that reference a specific file are suppressed, they will be unloaded from Inventor's memory, and will not be listed in the referenced documents list. If a top level component is suppressed, we can still find it, but we can not do much with it in that state, so accessing its sub components is very difficult, if not impossible.
What you may need to use instead of components or referenced documents is referenced Files (or referenced FileDescriptors). An Inventor File is different than an Inventor Document. A File is just a File on disk, but a Document is the data from a file that has been partially or fully loaded into Inventor's memory. Plus, a single File can have multiple Documents defined within it, if it has multiple ModelStates defined within it (one Document per ModelState). For the same reason, you can have way more referenced Documents in an assembly than referenced Files. When iterating File or FileDescriptor objects, you may want to do so one level at a time, using a recursive method, instead of attempting to get a single collection of all referenced File or FileDescriptor objects directly from the top File.
Edit: Just to add to that...the difference between File.AllReferencedFiles and File.ReferencedFiles is that the first one will attempt to get all of them at all levels below it, while the second will just get the directly referenced ones only. Same with AllReferencedDocuments and ReferencedDocuments. And the File.ReferencedFileDescriptors property, similarly only gets the direct ones.
Wesley Crihfield

(Not an Autodesk Employee)