Nop... el "else del echo" (

) corresponde al if de $veces1 == 0..

.
... un consejito: "sé órdenado". Yo acostumbro y recomiendo indentar el código para su fácil visualización y entendimiento. ¿a qué me refiero??, que manejes bloques de código:
Código PHP:
if ($x1 == $num) {
// empieza bloque... todo lo que este indentado a esta altura estará dentro del if superior
if ($veces1 == 0) {
// otro bloque...
echo "Has enviado hoy 2 sms a $num solo se pueden enviar 2 sms al mismo numero por dia";
} else { // ojo!, finaliza el bloque anterior y comienza otro... pero seguimos "dentro" del if inicial
$sql = "UPDATE usuarios SET veces1=veces1-1 WHERE id=8";
mysql_query($sql) or die(mysql_error());
echo "miratu";
}
// supongo aquí irian los otros if's
Respecto a lo que haces inicialmente:
Código PHP:
$x1 = $array[0];
$veces1 = $array[1];
$x2 = $array[2];
$veces2 = $array[3];
$x3 = $array[4];
$veces3 = $array[5];
$x4 = $array[6];
$veces4 = $array[7];
$x5 = $array[8];
$veces5 = $array[9];
varios comentarios:
1) Ve la función
list()
2) Ve el tema de
variables variables
3) Mejor aún, ve que puedes tener "una sola" validación dentro de un ciclo. Podrías manejar
matricez... igual aplica con variables variables pero creo es complicarse más.
Puedes simplificar por mucho lo que haces... pero solo comentarios... Un saludo y suerte!