if you need to troubleshoot, you should print the query.
print ("The query could not be executed!<br> Test in phpmyadmin: $Query");
i'm not sure, but you're using an old technique to run query:
i'm using this connection template:
$hostname='XXXXXXXX'; //// specify host, i.e. 'localhost'
$user='***********'; //// specify username
$pass='***********'; //// specify password
$dbase='XXXXXXXXXX'; //// specify database name
$connection = mysql_connect("$hostname" , "$user" , "$pass")
or die ("Can't connect to MySQL". mysql_error());
$db = mysql_select_db($dbase , $connection) or die ("Can't select database.");
i'm sure your query is working, but you don't need to determine the primary key's value. notice that, date as a field name is not suggested, its a reserved name such as order group ect...
$sql="INSERT INTO bailout (`email`,`newsletter`,`comment`,`date`) VALUES ('$email','$newsletter','$comment', NOW()) ";
echo $sql; //just for test
mysql_query($sql) or die(mysql_error());
maybe this helped.