Premesso che da quanto vedo stai lavorando con Joomla e quindi non capisco perché non usi
$db = &JFactory::getDBO();
per effettuare la connessione al db e invece usi una tua classe.

Quando fai l'insert sei sicuro che il numero di campi e di valori coincida? Sicuro che non provi a mettere per esempio una stringa in un campo numerico o cose simili? Fatti stampare la query, così vedi se è corretta.