It should retain downtime information accross reload. In my Nagios it stays after reload. I have tested this both on version 2.10 and on 3.0.2 and it works both ways.
If you’re using version 2, chown the downtime.dat and comments.dat to usrn nagios ownership and group ownership of apache so it could read/write to those files, and retention.dat should be in nagios user ownership and only his read/write permission.
Check what nagios.log say about it when you stop/start nagios. You could set higher debug level in nagios.cfg and see any messages in nagios.log then
Also you could try to use:
retain_nonstatus_information 0/1
in host/service definitions