I know you have said that it is straight, but check to see if the cocking arm is bowed. If the piston is being pulled forward by the cocking arm a touch when you close the barrel, it would suggest this or that the wrong arm has been fitted. If you leave the mainspring out and try it,and with the barrel closed,the piston can be pulled forward without much force, this would give you an idea. If it is ok when the barrel is not quite closed but not when it is fully closed then I reckon the arm would need a tap on the bend to correct it. I assume the cocking shoe is ok?