Amigo, if(!empty($_POST['agree'])) significa (Si no esta vacio, osea, si es 1) Estas aplicando mal la logica. Estas poniendo que no acepta los terminos cuando si lo hace...
como dice patekenuke, analiza la logica...
Código PHP:
if(!empty($_POST['agree']))
{
//ACEPTO!
}
else
{
//NO ACEPTO!
}
El signo ! deniega lo que viene adelante, tenelo en cuenta. Saludos!