Aunque sigo a la espera de que alguien me ayude a averiguar el porqué...
... me contesto a mí mismo, por si alguien tiene en algún momento la misma incidencia:
Como no se porqué no funciona bien el código (debe ser algo relativo al vartype del array frente al vartype que exige 'Chr()'), le he addo un poco la vuelta para evitar el problema... bueno, dar un rodeo también es una forma de solucionar el problema (aunqe no es la mejor: como buen zaragozano, seguiré buscando la otra respuesta...).
Lo que he hecho es almacenar en la base de datos no "chr(32)", sino el valor numerico a secas: "32".
Luego lo cargo en mi variable igual que estaba:
Código:
Dim caracteres() As String
caracteres = Split(variables.Item("chrEliminar"), ",")
el valor de caracteres() es = (32,42,95) etc...
... y al hacer el replace cargo ese número como el parámetro del chr():
Código:
cuantos = UBound(caracteres())
For i = 0 To cuantos
el_apell1 = Replace(el_apell1, Chr(caracteres(i)), "")
el_apell2 = Replace(el_apell2, Chr(caracteres(i)), "")
el_nombre = Replace(el_nombre, Chr(caracteres(i)), "")
Next
... es una pequeña huída... pero funciona...
Saludos!