Maybe you could try something like the thing I've attached. When power is applied, the top relay drives the motor forward. When the motor hits the limit switch, the top relay latches itself on, and the motor stops. With the top relay on, the lower circuit is provided with power - the 555 timer circuit turns the lower relay on when its timing capacitor charges sufficiently. With the lower relay on, the motor reverses until it hits the home switch, which turns off power to the lower circuit and stops the motor.
Hope this helps.