Magari il problema fosse quello.
la terza condizione l'ho messa dopo per capire cosa succede in casi diversi da 1 o 0.
Infatto a parte che è commentata poi vedi $querySql_stats .= "(".$id_banner.",0,0,".$rows_count_result.")";

come impression ho messo 0 per riconoscerla e come data ho messo il valore della
$rows_count_result.

Il problema è che a volte entra proprio nella condizione
elseif ($rows_count_result == 0) anche se in realtà ci sono dei record.

Basta guardare i risultati.
La tabella l'ho ripulita più volte, azzerata. Ma poi quando raccolgo i dati fa sempre la stessa cosa.