Since there's no particle caching ready at the moment, one possible solution to freeze particle movement when timeline might be a simple (imo this should be simple in code) hardcoded link between the Timeline controls and the particle simulation speed parameter.
The logic is this: Once Timeline receives STOP command from the Transport Controls, all particle layers in the scene set their Simulation speed to 0. Once Timeline receives PLAY command from the Transport Controls, Simulation speed in all particle layers gets restored. What do you think?
P.S. Such link may be optional and set in Preferences or in Particle Layer parameters. IMO the default state of such link should be ON.