I know there is or was a Lionel station that stopped trains automatically, then after a short period, sent them on their way. Are there any products out there that will slow a train to a stop, then slowly accelerate it automatically.
I don't know about products that accomplish this, but I'd be interested to learn if DCS and Legacy control systems can be programmed somehow to do this, I am pretty sure they can I just don't know enough about those systems or if it requires separate components to make it work.
You could do this with Legacy and the LCS system using sensor tracks.
Proto 2 & 3 have a station stop feature that the operator can trigger.
DCS also has recorded operating session playback capability. With it you can make a station stop as you like and then have DCS send out the same commands when you play back the recorded operation.
This is not an easy task. I took it on for my HO point to point trolley layout. It took about 6 months of head scratching and three Arduino computer boards. It included four randomly made stops in about 30 feet of track run. Each stop had a random amount of stop time (within a window of time choices) with extra time at the end point station. The trigger mechanisms were light sensors trigger by blockage of the controlled layout room lighting. It has a digital throttle using pulse wave modulation (variable chopped up DC) with momentum for acceleration and deceleration. I am no programmer and not being a wiz programmer probably did not allow me to do it the right way or a better way but I got it done. The toughest was the digital throttle with momentum that took two Arduino computer boards alone. This was all done in DC but I suppose you could find a way to do it for an AC power system. I would not ever give the design to anyone or try to market it as it is not perfect and I have no more interest to get it working beyond where it is at now which is working well. I know a real programmer could have done the digital throttle much more elegantly than I ever could. It was the toughest because of the slow response of the Arduino to function calls which I had to use with my limited programming experience. But it is put to bed and done.
MTH DCS has a momentum feature built in and fully adjustable. It also has a record feature where you could record a session and play it back multiple times. The train would have to start at the exact same point as it uses the odometer built into DCS to know when to stop, set the speed, accelerate, decelerate, operate switches, operate accessories and change anything you punch into the remote during the session while recording. I tried it and it works fine.
I suspect that the easiest way to accomplish this for command control engines would be with the sensor track as GRJ suggests. You could program it so that when passing the sensor, the engine comes to a stop, then starts up again after some amount of time.
If you want to get really complex, you could also build your own device that senses a train, and sends signals to the legacy base to stop the engine, then start it up again. It gets really, really, complex if more than one engine is going to be passing by that station, but you can do neat things with different engines stopping or not stopping as you like. the sensor track method is much simpler.