Una variacion de tu funcion:
Código PHP:
function insertarRegistro(){
// Primer argumento es la tabla
$tabla = func_get_arg(0);
// Seguno argumento son los campos
$campos = func_get_arg(1);
// El resto son los datos a insertar
for ($i = 2; $i < func_num_args(); $i++){
$datos = $datos."'".func_get_arg($i)."'";
}
$datos=substr($datos,0,strlen($datos)-1); //Quitar coma al final
// Inserto registro
print $sql = "INSERT INTO $tabla ($campos) VALUES ($datos)";
}
insertarRegistro("datos_catalogo","nombre,codigo,catid,foto,descripcion,archivo,destacado,publicar",$nombre,$codigo,$catid,$foto,$descripcion,$archivo,$destacado,$publico);
Solo elimino el if interno en el for, para acelerar un poco la construccion de la variable $datos, y al salir del for le quito la ultima coma.
Espero sea de tu utilidad.