Solucionado , el problema estaba en la definición de la variable , se debe agregar un lugar más , ya que la función sprintf() durante la conversión agrega al valor convertido el caracter null , y modificar la función original para que me aceptara más de 1 digito para tener asi en lugar de hasta 9 esclavos , 31.
Si Diego lo autoriza , pego las modificaciones , no quiero salirme del mensaje original.
Saludos a todos.