haha, no worries!
Well, it might seem like magic for you now - but with a few years using Houdini processes like this become as standard as creating a sphere
But back to topic: why the timeshift?
Some of the following stuff you might already know, but anyway..
The SOP solver is actually a dopnet => simulation, as you probably know or have guessed from the 'reset Simulation' button.
Simulations depend on the data from the previous Frame (or more general: previous timestep).
So if you feed the solver a geometry with changing pointcount (as in my file), the Solver just takes what he gets from the first input on the first frame of the simulation. It has no idea that on the next frame there are more points in the first input because on that frame it works only with the data it already has (which is what it got on the start frame).
This is why I'm using the timeshift. The idea is to set it to the frame where all the data is available (if you dont kill any particles that would be the last frame of your sim). For demonstration I just decided to take frame 50 and have that as my data that the solver should operate on. (so frame 1000 should work..) Let's call it static data - so input 1 wants to have static data or it will take 'a copy' of the dynamic data on the start frame of the sim and by making 'a copy' of that data on that frame is becomes static.
To get the actual motion of the particles back, I update the static data from 'previous frame' with dynamic data fetched from input 2.
Oh and my coffe is currently Puro Fairtrade Coffee