in reply to Keeping track of children from previous runs of a script
My first thought in reading this was to use a database for maintaining the information, and functions so the additions would be consistent, but the additions to your code small.
I recently worked a project where I did something very similar. I logged the parent and child PIDs, as well as the date/time and a status, and made each function call self-contained as far as database access.
Hope that helps. (I look forward to the responses to this thread as well. :)