o.O sin ofender amigo, pero el código que muestras es mucho mas complejo de lo que al final te esta "dando problemas", tal como comentas debes meter las funciones en un loop...
Código PHP:
Ver original<?php
$numDeCodigos = 10;
$caracteres = 4;
for($i=0; $i<$numDeCodigos; $i++) {
$codigo = GeneraNumeros($caracteres).'-'.GeneraLetras($caracteres);
$sql = 'insert into miTabla set codigo = "'.$codigo.'"';
}