There are 2 other areas to take into measure. Most hostings have thier max_execution_time preset to 30 seconds in the php.ini and can not be change using the ini_set() function.
max_execution_time = 30 ; Maximum execution time of each script, in seconds
If your hostings bandwidth is bogged down, your script will timeout.
If you send your email out using HTML format, you will only get about 100-150 emails sent based on hosting bandwidth load.
If you send out in plain text format, you will get about 500-700 emails sent.
Most mass mailing severs have their php.ini's set to 120-180 seconds, that is why mass mailing services get large number of mailings sent out.