Ciao, volevo solo dire che sono finalmente riuscito a farlo funzionare e, nel caso possa essere utile a qualcuno, ecco la mia soluzione:

Codice PHP:
        public function nextID($aTable)
        {
            if(!
$this->isOpen())
                return 
null;
                
            
//Create a prepared statement
            
if(!($aStatement $this->mConnection->prepare("select nextval(?) as nextid")))
                throw new \
Exception("Could not prepare statement!");
                
            if(!
$aStatement->bind_param("s"$aTable))
                throw new \
Exception("Could not bind parameter with value " $aTable "!");
        
            
//Execute statement
            
if(!$aStatement->execute())
                throw new \
Exception("Could not select new ID!");
                
            
//Return results
            
if($aStatement->bind_result($aNewID) == false)
                return 
null;
                
            
$aStatement->fetch();
            
            return 
$aNewID;
        } 
Praticamente uso bind_result() seguito da fetch() :-)

In ogni caso si, la funzione simula una sequenza. Non so quali funzionalità mettano a disposizione le sequenze (o l'analogo) di mysql, ma qualcosa di simile l'ho usata per Oracle e le trovo molto flessibili. Ho pensato che fosse un modo buono quanto un altro per investigare meglio mysqli :-)

Grazie ancora per l'aiuto!