I had the same problem on my drivers side door. The seat wouldn't lock into its final position and would keep springing forward again. If you look under the seat at the frame, see if the latch has bent out of shape. This is right at the back of the frame, towards the middle of the car. You'll know if thats your problem cos it will look buckled and knackered! Basically, you just have to bend it back into position! Brute force and ignorance did it for me. The latch doesn't need to be perfectly straight just enough to let the catch pass the latch. Careful not to snap it!