Let me add first, that the solution I give does not use any 'creative idea', only the usual math tools of game theory - to come up with the results, I used this solver. As I see it, this is much more a mathbook problem than a puzzle. As the calculations themselves aren't particularly interesting, I do not add the details of them, only publishing the end result. At some part I used some pattern matching instead of an actual proof, so there might be some errors. Furthermore, there might be always typos, please doublecheck before using my results. Maybe there is a workaround that does not need all this apparatus.
As Gareth already pointed out in his answer, it does not matter which numbers have been taken in earlier rounds, because the only thing matters is the relative ordering of the cards. Thus we can refer to any situation by two numbers: how many cards are left (which I will denote by $n$ as well), and the rank of the latest announced one among those (denoted by $k$; so $k=1$ means it is the smallest that was announced, $k=n$ means the largest).
I am using the very same approach that Mike did in his answer. I would like to point out that the actual values of the games are somewhat different from the numbers he used in his payoff-matrices (he counted how many times B will answer correctly, but according to the original question B gets one point deducted for every wrong answer), but the connection between his and my numbers are linear, and the calculations that are done on the payoff-matrices to determine the optimal strategies of the players are not affected by these.
The expected value of B's points
Before I can post the expected value of B's points for any $(n,k)$, I need to define some integer sequences (in an iterative way), which will be used in the expression.
Let $h^0_n = \text{round}(2^{n-3})$, that is from 0-index: $0, 0, 1, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, ...$
Let $h^1_n = h^0_n$ if $n$ is odd, and $h^1_n = h^0_n + h^0_{n/2}$ if $n$ is even, that is $0, 0, 1, 1, 3, 4, 9, 16, 34, 64, 132, 256, 520, ...$
In general, let $h^i_n = h^{i-1}_n$ if $n$ is not divisible by $2^i$, and $h^i_n = h^{i-1}_n + h^0_{n/2^i}$ if $n$ is a multiple of $2^i$.
After enough steps of this iteration, the first few elements of the sequence won't change anymore. In some sense, there is a limit sequence $h^\infty$, which starts like: $0, 0, 1, 1, 3, 4, 9, 16, 35, 64, 132, 256, 521, ...$
The actual payoff values are then the following:
For $k>\lceil n/2 \rceil$:
$v(n,k)=v(n,n+1-k)$, because of symmetry.
For $k=\lceil n/2 \rceil$:
$$v(n,\lceil n/2 \rceil) = 1 + \sum_{i=2}^{\lfloor n/2 \rfloor}(h^\infty_i / 2^{2i-3})$$
For $k<\lceil n/2 \rceil$:
$$v(n,\lceil n/2 \rceil -i) = v(n,\lceil n/2 \rceil) + \sum_{j=\lfloor n/2 \rfloor +1}^{\lfloor n/2 \rfloor +i}(h^\infty_j)/2^{n-3}$$
How to use the values given by the above expression to determine the optimal strategy of the players?
I will show this through the same example Mike used: $n=5, k=2$.
The elements of the payoff matrix are based on the $v(n-1,i)$ values, adding or subtracting 1 depending on the relation between $k$ and $i$ matching B's choice.
$$
\begin{array}{cc}
& \text{A's choice}\\
\text{B's choice} &
\begin{array}{c|cccc}
&1&3&4&5\\
\hline
L&v(4,1)+1&v(4,2)-1&v(4,3)-1&v(4,4)-1\\
H&v(4,1)-1&v(4,2)+1&v(4,3)+1&v(4,4)+1
\end{array}
\end{array}
$$
or, by replacing the values calculated by the expression above:
$$
\begin{array}{cc}
& \text{A's choice}\\
\text{B's choice} &
\begin{array}{c|cccc}
&1&3&4&5\\
\hline
L&3&0.5&0.5&1\\
H&1&2.5&2.5&3
\end{array}
\end{array}
$$
Although these numbers are different from the ones used by Mike (he was using only the number of B's correct answers, while I use his points that is the difference between his correct and wrong answers - however, as the total number of answers is constant 4, these can be mutually expressed from each other, revealing a linear connection), the optimal strategy is the same: A should choose between '1' and '3' 50-50%, B should say 'High' with 62.5%.
You can confirm this with the solver I've linked previously, but don't forget to transpose the matrix and negate the elements, as it needs it in that form.
There is a slight difference for the very first step, when A announces the first number.
He should make his choice based on the $v(50,k)$ values, as those are the actual payoff values. This leaves him with $k=25$ or $k=26$ as equivalent best choices. (Note he want's to maximize his own points, hence minimize B's in this zero-sum game.)
How did I come with the expression, and where I see some room for improvement
I calculated the game values recursively for $n \le 10$. Then I looked at the values and saw the pattern above emerging. Of course those numbers work even with $h^2$ instead of $h^\infty$, but my intuition says, the latter should be used in the general case - $n=50$ needs $h^4$. I might be totally wrong on this, any help is welcome.
As I can see, for every $n$, the payoff matrix will have a special form which allows A to exclude all but two choices (because the two elements in each column have a difference of +/-2). Maybe this part of the problem can be attacked to come up with some simplifications. While I was typing this, Laska provided a shorter answer, which might be the perfect answer.