If X and Y are the same, then you must be A, and will answer in one iteration.
Otherwise, you will have 2 possibilities: X+Y or Y-X.
But if you're Y-X, that means you're not A. Y will be the actual A, since they're the largest of the three, and they will be seeing X and (Y-X) in front of them.
It gets recursive here - if that is the case, then that person has 2 possibilities too, and so on.. this will go until we reach point where a person has 2 same numbers in front of them.
Thus: Let $F(X, Y)$ be the number of turns you need to solve your own number, with $Y$ being the larger of the two $(Y >= X)$.
$$F(X,Y) = \begin{cases} \text{1} &\quad\text{if X = Y} \\ \text{$1 + F(X, Y - X)$} &\quad\text{otherwise} \\ \end{cases}$$
The reason the guy with A hat always solves first is because by the nature of this formula, they will always be one step ahead of the others:
Remember that $A = B + C$.
A's case will be $F(B, C)$
B's case will be $F(C, B + C) = 1 + F(B, C)$
C's case will be $F(B, B + C) = 1 + F(B, C)$
As you can see, B and C will reach $F(B, C)$ in one iteration... but that's what A started with! As such, they'll always lag one iteration behind A.
By the way, answering
Do note however that the actual answer is actually slightly more complicated, thanks to the effect of asking them in order:
Answering based on the number of iterations is tricky if they're asked one by one. Depending, as depending on A's ordering (before or after the others), the answer can change. For
For every step of the recursion where the A answers after the Y, then the final answer will be one iteration shorter (as he can already know the current iteration Y's answer without waiting for the next iteration). So it's more like this:
$$F(X,Y) = \begin{cases} \text{1} &\quad\text{if X = Y} \\ \text{$F(X, Y - X)$} &\quad\text{if X $\ne$ Y and you answer after Y} \\ \text{$1 + F(X, Y - X)$} &\quad\text{if X $\ne$ Y and you answer before Y} \\ \end{cases}$$
Still, even though this is the more 'correct' answer, I think the simplified formula is a better answer as it is easier to understand. This issue of less-iterations-due-to-answering-order feels completely unrelated to the main riddle, and only serves to add unnecessary complexity.
To solve this, I propose that within one round/iteration of questioning, all of them are asked separately and at the same time, and likewise they can only know of that entire round's result all at once afterwards.