there has to be at least a .25 second pause between sending the messages to the smtp server or the smtp server will terminate the connection.
It could be a number of things causing the emails to stop at 80.
It could be a limitation on the server that only allows 80 messages to be sent in a given time frame.
first thing i would try is to add the following code at line 1:
<?php set_time_limit(0); ?>
if you're still having a problem, contact the host to see what limits are in place for sending emails through the smtp server. they may on y allow a certain number in a day, or a certain number every hour.