I will give a method for obtaining a closed form answer, and will explain why it is impractical to give an "ultimate closed form" in terms of algebraic numbers.
Short answer: if the boss starts with $N$ HP, then the probability that A kills the boss is given by the following formula:
$$p_N = 0.2830 + 2Re((0.1896 + 0.1642i)\cdot (0.9937 - 0.0458i)^N) + 2Re((-0.0017 + 0.1517i)\cdot (0.9803 - 0.0807i)^N + \dots.$$
The above is a finite sum, but has more than one hundred terms. All the numbers appearing are algebraic numbers, approximated to the fourth decimal place.
The main term is $0.2830$ and all other terms converges exponentially to zero.
The calculation:
Let $x_A, y_A$ be the min/max damage of $A$. Also let $d_A$ denote $y_A - x_A + 1$.
Thus in the original question, we have $x_A = 25, y_A = 50, d_A = 26$.
The same notations apply to B and C.
For convenience, we also write $y = y_A + y_B + y_C$, i.e. the max damage that can be done in one round. It is $200$ in the original question.
Let $p_n$ be the probability that A kills the boss, provided that the boss starts with $n$ HP.
Viewing $(p_n)_n$ as a sequence, we may establish a recurrence relation.
For any $n > y$, the boss can definitely survive the first round. For any $a \in [x_A, y_A]$, $b\in [x_B, y_B]$, $c\in [x_C, y_C]$, there is a probability of $\frac 1 {d_A d_B d_C}$ that A, B, C deal damages $a, b, c$ in the first round, respectively. When this happens, the boss will remain $n - (a + b + c)$ HP, and in the rest of the game, A will kill the boss with probability $p_{n - (a + b + c)}$.
Therefore, for $n > y$ we get the following equation:
$$p_n = \sum_{a = x_A}^{y_A}\sum_{b = x_B}^{y_B}\sum_{c = x_C}^{y_C}\frac 1 {d_A d_B d_C}p_{n - (a + b + c)}.$$
This is a linear recurrence relation, and we may apply the standard solving method to it.
Thus we first look at its characteristic polynomial, which is given by:
\begin{eqnarray}
f(T) &=& T^y - \sum_{a, b, c} \frac 1{d_A d_B d_C} T^{y - (a + b + c)}\\
&=& T^y - \frac 1 {d_A d_B d_C}\sum_{a = x_A}^{y_A} T^{y_A - a}\sum_{b = x_B}^{y_B} T^{y_B - b}\sum_{c = x_C}^{y_C} T^{y_C - c}\\
&=& T^y - \frac 1 {d_A d_B d_C} (T^{d_A} - 1)(T^{d_B} - 1)(T^{d_C} - 1) / (T - 1)^3
\end{eqnarray}
If this polynomial only has simple roots $r_1, \dots, r_y$, then there exists $c_1, \dots, c_y$ such that $p_n = \sum_{i = 1}^y c_i r_i^n$ for all $n$.
It is easy to see that $1$ is always a root of $f$, as $(T^{d_A} - 1)/(T - 1)$ evaluates to $d_A$ at $T = 1$, and idem for B, C.
Although this polynomial looks simple, usually $T = 1$ is the only "nice" root, namely $f/(T - 1)$ is quite probably an irreducible polynomial over $\Bbb Q$, and hence the roots $r_i$ are just some algebraic number of very high degree).
From here, it seems inevitable to use some computer algebra system.
The following code can be pasted into this site to calculate the polynomial $f$.
xA, yA = 25, 50
xB, yB = 30, 70
xC, yC = 10, 80
dA, dB, dC = yA - xA + 1, yB - xB + 1, yC - xC + 1
y = yA + yB + yC
R.<T> = QQ[]
f = T^y - (T^dA - 1)(T^dB - 1)(T^dC - 1)/(T - 1)^3 / (dA * dB * dC)
print(f)
The polynomial $f$ looks like $T^{200} - \frac 1 {75686} T^{135} - \frac 3{75686} T^{134} - \dots$.
To check that $f$ doesn't have double roots, we calculate the $\gcd$ of $f$ and its derivative:
print(gcd(f, f.derivative()))
The result is $1$, showing that all the $200$ roots of $f$ are different.
We may also try to factorize $f$ over $\Bbb Q$:
print(f.factor())
The result is $(T - 1)(T^{199} + T^{198} + \dots + \frac 2{37843}T + \frac 1{75686})$. The second factor is irreducible, which means that the ultimate "closed formula" answer to this question will have coefficients in some huge number field, of degree at least $199$ (and probably much, much larger, up to $199!$).
This complexity is the nature of the problem, and cannot be avoided.
Now let us try to find all roots of $f$ in $\Bbb C$. We also sort the roots in decreasing order of the norm.
CC = ComplexField(200)
S.<T> = CC[]
f = S(f)
roots = [r for [r, e] in f.roots()]
roots.sort(key = norm, reverse = True)
print(roots)
The list starts with $1.0000, 0.9937 \pm 0.0458i, 0.9803 \pm 0.0807i, \dots$. Thus we see that $1$ is indeed the largest root. I now rename the roots as $r_0 = 1, r_1, r_2, \dots, r_{199}$ in the descending order.
It remains to obtain the coefficients $c_i$ from the initial values by solving a linear equation.
Here my interpretation is that the boss dies as soon as its HP is reduced to $\leq 0$.
p, q, r = [0], [1], [0]
for n in range(1, y):
p.append(sum([q[n - j] if j < n else CC(1) for j in range(xA, yA + 1)]) / dA)
q.append(sum([r[n - j] if j < n else CC(0) for j in range(xB, yB + 1)]) / dB)
r.append(sum([p[n - j] if j < n else CC(0) for j in range(xC, yC + 1)]) / dC)
m = matrix([[rt^j for rt in roots] for j in range(y)])
c = m.solve_right(vector(p))
The list $c_i$ starts with $0.2830, 0.1896 \pm 0.1642i, -0.0017 \pm 0.1517i, \dots$.
This gives our final "closed form" formula $p_n = \sum_i c_i r_i^n$, in complex numbers.
The final step is to put in $n = 1000$:
N = 1000
print(c.dot_product(vector([rt^N for rt in roots])))
Result: $p_{1000} \approx 0.2834657535$.