Is the runner past all the ice when you have passed the last piece of ice? Yes. It does not say the runner must pass each piece of ice individually. See Awakening Center for similar verbage.
And yes, it would not protect against Sneakdoor if on HQ. Sneakdoor is a "on successful run" trigger, and at that point you are past all ice and run is successful. Caprice is only good prior to access.
3. The Runner encounters a piece of ice. (“When encountered” conditionals meet their trigger conditions)
3.1 Icebreakers can interact with the encountered ice, Paid abilities can be triggered.
3.2 Resolve all subroutines not broken on the encountered ice.
...Either the run ends: go to 
...Or the run continues: if there is another piece of ice protecting the server, go to ; if there is not another piece of ice protecting the server, go to .
4. The Runner approaches the attacked server.
4.1 Paid abilities can be triggered.
4.2 The Runner decides whether to continue the run.
So when 3.2 resolves, you either move to the next piece of ice, or go to step 4 (Approaching the attacked server)
The language on Awakening Center/Caprice basically put themselves BETWEEN there.
So 3.2, you pass the last piece of ice, but prior to 4 Approach attacked server, you trigger and resolve Caprice/Awakening Center.