io eliminerei quel for che è del tutto non necessario nonchè la fonte del tuo problema.

fai una cosa così:

Codice PHP:
# all'interno del while già strutturato da te

echo $i == 1 ? '<tr>' : NULL;
?>
<td>[img]<?php echo $immagine ?>[/img]</td> 
<?php
echo $i == '</tr>' NULL;

if (
$i == 4) {
  
$i 1;
}else{
  
$i++;
}
ovviamente prima del while inizializza $i con un valore pari a 1