In nagios.cfg there is interval_length= which defines what an interval is in seconds. Leave at default for easy math in the rest of your configs. Also in nagios.cfg if you have aggregate_status_updates=1 then the following is the number of seconds status is updated:
status_update_interval= Mine is 15 which should be fine.
service_reaper_frequency=10 is the number of seconds Nagios will process the results of services that have been checked.
In the cgi.cfg:
refresh_rate=300 is the number of seconds that your browser will automatically do a refresh. So, without this, if you where looking at the service problems webpage, then it would never refresh unless you did it yourself with a f5.
In services.cfg normal_check_interval=5 or 1 like you have it, should be fine. But I'd suggest to make it 5. Then set your max_check_attempts=3 and your retry_check_interval=1. So, when a service check fails, it will try for 3 more times. Each retry will occur every 1 interval(60 seconds). After 3 retries, the state will be determined to be a HARD state and notifications will go out. After that, the check will occur again in 5 intervals and so on.
Your description of your trouble could be that your interval length is not set right, or you have max_check_attempts to high, or retry_check_interval too high. Go with my numbers or the defaults from the sample.cfg files.