Your script could use get ( FoundCOunt ) to detect no records found, subtract 1 again from $PrevYear and try again, but you'll need to set up some means to know when to stop. A loop and recursion are both ways that you might use to set the script to "try again".
A summary field can show a minimum, with a found set of all records, that could be the earliest year in the table. An ExecuteSQL query could also return this value and however you do it, you can speed things up if you store this value in a field somewhere in a related table so that you don't have to keep calculating it each time you need that minimum year.
Thanks a lot.
But where exactly do I insert the Get(FoundCount) script step?
Is a function, not a script step. You can put it in an IF step immediately after perform find.