As to whether the "O" ring moves I expect that it does. The annular ring over which the pressure differential acts is very small, basically the gap between the shaft and the muzzle bore. If the shaft had an 8 mm tail stop and a 7 mm shaft body then the muzzle bore may be 9 mm, hence the annular gap is only 1 mm wide. In the Seatec Evo-Air which uses 7 mm shafts with no tail stop the gap will be 0.5 mm if the muzzle bore is 8 mm. Calculate the cross-sectional area and you will see the force holding the "O" ring against a vacuum is very small when you apply the pressure differential of 1 atmosphere. At 10 meters underwater the pressure will be 2 atmospheres as we need to think in terms of absolute pressure.
View attachment 55039
[EDIT]
It took me a while to figure out why you were talking about the gap area and not the whole o-ring area instead. But I think it is because the o-ring in the most rearward position is not sealing on its sides (against shaft and side wall of the bore) but rather against the shaft and the inner edge of the lip?
If so, you are correct that the pull of the vacuum on the o-ring is really small, but the frontal area subjected to the pressure from depth is still large.
Some quick math shows that for a 7mm x 3mm o-ring (ID x CS) in an 11.5mm bore (to give app. 25% compression) we have 0.67kgf per bar of pressure. So, at 20m you have almost 1.5kg pushing the o-ring backwards, not counting any vacuum pull.
Also, I would think that even in shallower dives if the friction from the shaft does manage to push the o-ring forward then as soon as the o-ring no longer seals on the smaller lip it will seal on the sides of the bore and the shaft - which exposes a much larger area of the o-ring to the vacuum. The result is going from very little "pull" to at least 0.67kgf in a short amount of time and that might stop the o-ring from moving further forward. It may, in theory, start going back and forth between the lip and the bigger bore.
(Actually, this last paragraph could be flawed as I don't know how much vacuum the piston ends up pulling on the seal - is it safe to say it is close to 1bar?).
But thanks for bringing this up as it made me reevaluate the best size for a moving o-ring for a shaft with a slider. I was thinking that it would be better to maximize its size to guard against o-ring extraction rearwards through the gap. But since the idea for a gun like this would be to shoot fish that are often at around 20m I now think, it's better to go for the smallest possible o-ring section as the frontal force will be smaller. This should make it easier for the shaft tail to move the seal forward to the bigger bore where it can expand, letting the shaft tail through.
I just did a few more quick calculations and a 3.5mm section wide o-ring @ 20% compression, which I was thinking of using, would have about 1kgf per bar of pressure pushing it rearwards, so 2kgf at 20m, not counting the vacuum pull which could add another kilo. That's a whole lot of force for the shaft tail to bang against!
If I can get away with using a 2mm thick o-ring then that drops to half that at 0.46kgf per bar. That's still potentially close to 1.5kgf holding the o-ring it in its place at 20m when the shaft tail comes knocking...
If I manage to go all the way down to a 1.5mm o-ring, the force on it from depth will be 0.35kgf/bar - a 24% reduction over the 2mm o-rings. But again, it would be around 1kg total at 20m of depth holding that o-ring from moving forward with the shaft tail. I am beginning to see why
@tromic couldn't get it to work.