Privatize everyone in the data base except for
* Individuals with a Death Fact
* Individuals with a Birth fact before _____
One simplification to your logic that I might suggest: instead of triggering on "Birth" fact before ______, why not trigger on any fact before that year? Since birth would (presumably) be the earliest specified fact for any person, any later fact specified would apply in the same way (i.e. if someone born before 1900 is too old to worry about being privatized then someone baptized before 1900, or married, or worked at a job, or whatever, would even more so be too old to worry about). This would then cover those individuals with no birth fact (many, in most genealogies) but who do have at least some dated information.
A slight variation on your proposal would be to "un-privatize" every individual with any fact older than a certain number of years, rather than a specific date. That way you wouldn't have to change the specified year periodically, and it would make it easier for this logic to be included to run automatically in RM. So, for example, if you specify 100 years as the "statute of limitations" on being privatized, then the first time you open your database after January 1, 2012, RM could automatically un-privatize everyone with any dated fact prior to 1912 (who had not already been thusly marked).
And finally, one small addition: there should probably remain a manual override for the "privatize" flag. There could easily be instances where (for example) someone is already dead, but their immediate family is still living, and there are enough sensitive issues surrounding the deceased person that the family would rather the person him/herself remain private, rather than only specific facts.
Just my two cents worth!