il codice che hai scritto non mi sembra molto valido..
prima di tutto assicurati che il db non esista con
IF NOT $hConn.Databases.Exist(nome) THEN
attribuire la creazione ad un errore generico non è il massimo.
poi la creazione del db e la crazione delle tabelle devono avvenire in due momenti separati da un commit
per la creazione del db sul codice di definizione della connessione non mettere il nome (lo metterai se lo crei nel codice di creazione)
creato il db fai un commit o un close
poi definisci il nome del db con connessione.name=nome
e apri il db per la creazione delle tavole