Non ho capito la domanda 1.

A parte la sintassi di alcune query (alle quali lo script non è proprio arrivato) credo che l'errore siano i ";".
PhpMyAdmin pure li usa ma non è che fa un explode dei ";" ed esegue poi le query contenute nell'array ricavato?

Lo dico perchè studiando un metodo di una classe mi sono accorto che il procedimento usato è proprio questo. Non converrebbe, allora, fare direttamente l'array facendo qualcosa tipo:

$query[] = "comandi della query";
$query[] = "comandi della query";
$query[] = "comandi della query";

e poi passare tutto ad una funzione che scorre l'array ed esegue le varie query?