The process for discovery of artifacts is kept intentionally slim in archiva trunk.
All files are treated as artifacts. (pom files included).
So order of upload/deployment is irrelevant.
Artifacts are added to the database.
The browse screen uses the database.
When the database update occurs the pom files are read, resolved, merged, expanded, and saved into the database.
When a user browses into a specific project version, and the database update hasn't occured (yet) on the pom files for that, the database update occurs JIT, making the data available to the user.
timestamp checks should also be taken into consideration in this (ie, if the pom of an artifact has changed, the artifact is rediscovered)