Te doy otra opcion:
    
Código C++:
Ver originalpublic string Sustituir(string cadenaOriginal, int posicion, string sustituir)
{
 
    return Strings.Left(cadenaOriginal, posicion) + functionReturnValue + Strings.Right(cadenaOriginal, Strings.Len(cadenaOriginal) - posicion + 1);
 
}
  
Ahi no necesita como parametro el tamaño del string, por que lo saca solo. 
No entiendo lo que estas necesitando... Sera que necesitas llamar a esa funcion para devolver el nuevo string? Si es asi podes usar un inputbox para tomar la posicion a monoficiar y despues la letra