Lo estuve viendo el codigo, es larguisimo la verdad... Pero me parece que el principal problema es el encapsulamiento... demasiada variable global a mi gusto. Debe haber un drama por ese lado tal vez...
Yo te recomiendo que te hagas tus propias clases porq sino al tener algo tan extenso que no hiciste vos, se hace muy complejo encontrar el error.
En cuanto al codigo que tenes:
La verdad no lo comprendo 100% me tendria que poner a verlo, pero la variable global $session a la que queres acceder es la misma en la que se crea el objeto Session verdad? Paraacceder a ella deberias usar el array $_GLOBALS me parece
Sino proba poniendo
Código PHP:
public static function creaHist($subuser, $subtitle, $subcode){
global $database, $form; //The database and form object
if($database->creaNewHist($subuser, $subtitle, $subcode)){
return true; //New user added succesfully
}
/* Success! */
return true;
}