No puedes hacer dos loops para una consulta. Yo lo haría de esta forma:
Código php:
Ver original<?php $a=1; ?>
<tr>
<?php do { ?>
<td width="20%"><div align="center" class="Metzaldeberri"><a href="<?php echo $row_meatzaldeberriempresas['enlace']; ?>" target="_blank"><?php echo $row_meatzaldeberriempresas['meatzaldeberri']; ?></a></div></td>
<?php
if($a == 0) echo '</tr><tr>';
++$a;
} while ($row_meatzaldeberriempresas = mysql_fetch_assoc($meatzaldeberriempresas)); ?> </tr>
Esto lo que hace es crear una fila nueva una vez hay 4 columnas. Con lo que tienes que trabajar después sería con las veces que la última columna no tiene cuatro elementos. Tendrías que saber cuando la última fila tiene una, dos o tres elementos para poder añadir las otras celdas restantes.