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?