So that was the right answer for the wrong question. You are doing what I suggested in the paragraph beginning with "Another solution" which is that each child occasionally loads its own copy of the data - periodically.
Your implementation appears sound. I think it would be helpful to also log the pid with each of your log messages so we could get a better idea which ones are reloading - and if the same one is reloading.
It is entirely possible that some of your preforked processes haven't been touched yet - and when they finally are then you get the old time stamp you have shown.