Você está usando um recurso , que não um inteiro, como um inteiro. Mesmo que você veja um número ao inspecioná-lo, na verdade não é um número inteiro verdadeiro. É um ID de recurso associado à sua conexão MySQL.
Se você quiser usá-lo como um número inteiro, eu acho você pode convertê-lo em um inteiro antes de usá-lo (eu nunca tentei).
if($query_id)
{
$id = (int) $query_id;
$this->q_array[$id] = @mysql_fetch_array($query_id,MYSQL_ASSOC); // LINE 124
return $this->q_array[$id]; //LINE 125
}