PHPlist is able to handle such parallel invocations of processes to some extend. If a newly started process finds a running process it waits up for 20 seconds.
You will see messages like:
- A process for this page is already running and it was still alive xxx seconds ago
- Sleeping for 20 seconds, aborting will now quit
If still the previous process is running after 220s the new one finishes itself.
You will see a message like:
- We've been waiting too long, I guess the other script is still going ok
But when the previous process started more than 1200s ago and still is marked as running, the old one is killed without notice and the new one starts to process. This is the programming for v2.8.12 as you can find it at function getPageLock() in the file lib.php.
As you describe your scenario I assume that you are using throttling. The amount of 1000 emails you are sending in 5 hours is quite low. If your email is not bigger than 30kB any method which may be used with cron (PHP-cli, PHP-cgi, lynx, wget, GET, ...) should still be active after that time.
When the new cron job starts after 5 hours it will kill the previous job because the old one started more than 1200s ago. The new one takes over the processing of the queue. This is a completely new start and it continues to send the emails where the previous was stopped. If you added a new message meanwhile this is handled as if both messages are new. So there should be no difference to start both messages at the same time or to add the second later.
But don't use MAILQUEUE_BATCH_SIZE > 0 with your scenario. Only the first batch period will be executed before the process finishes.