You have this code on the top of the page:
<?php
if($_SERVER["REQUEST_METHOD"] == "POST") {
foreach($_POST as $key => $val) {
if(is_array($_POST[$key])) $_POST[$key] = implode(", ", $_POST[$key]);
}
}
?>
Then your TO is set to:
$Email->addTo("".((isset($_POST["toAddresses"]))?implode(",",$_POST["toAddresses"]):"") ."");
This runs implode on the posted to addresses twice, which clears them out. The solution is to delete the hand code on the top of the page because it shouldn't be needed.