The base pin popping out is an easy fix. It's just that the "groove" in the pin is not profiled right.
Take the cylinder out and the base pin out. Watch how far the catch pin travels when the base pin is out.
Now put the base pin in and see how far the catch travels. I'll bet it is held short of where it traveled when the pin is out.
Put the pin in a drill(mini lathe) Use a round needle file to open up the groove. Don't make it wider, just round out the groove a bit and retry it.
When the catch travels all the way over like it does when the pin is out, you are done and the base pin will no longer jump out.