In the BGE, how do I make collected objects never appear again even when go back to that level?
I assume with "level" you mean scene.

When you switch scenes, you destroy the current one and load a new one. The new scene will be as it is loaded from file. It will not know anything about the previous scene. 

When you keep game status (such as points) in a scene it will die with the scene. 

Solutions

Keep scene

Do not switch scene to preserve the game status.

Nether return

When leaving the scene you never come back. Therefore you do not need to know what was collected in previous scenes.

Keep game status separate

By keeping the game status somewhere else (e.g. at a Python module, or an overlay scene) it will survive a scene switch.

Transfer game status

Some game status are better kept in the scene (e.g. status of doors, collected objects, moved objects). Such things are typically needed when loading the scene again at a later stage (it is not the same scene, it is a new scene loaded from same source).

You need a store/restore system. 

It basically extracts the game state (or part of it) from the scene and places it in a storage outside of the scene (e.g. a python module). 

At a later stage the game state can be reapplied from storage to the same or a different scene. This can happen after a scene change.

You often find such a system in conjunction with a save/load system. I suggest to search for such a system as it would be way to much within this answer.