How to handle resignations from unlost positions when learning? I played a game against bemeurer, a friend of mine who's learning chess. He's only got me to play against but he's learning quite quick.

Of the 8 games we played so far, I won all of them. Most quite easy, but this last one was a tough fight. We play on Chess.com, which has a chatbox.


 
[fen ""]
[Site "Chess.com"]
[Date "2016.03.25"]
[White "bemeurer"]
[Black "Pimgd"]
[Result "0-1"]
[WhiteElo "741"]
[BlackElo "1259"]
[TimeControl "1 in 3 days"]
[Termination "Pimgd wint door opgave"]

1. Nc3 e5 2. a3 Nc6 3. e4 Nf6 4. Nf3 d6 5. Bb5 a6 6. Bxc6+ bxc6 7. d3 d5 8. Bg5 dxe4 9.dxe4 Qxd1+ 10.Kxd1 Ng4 11.Rf1 h6 12.Bh4 g5 13.Bg3 Be6 14.h3 Nf6 15.Nxe5 c5 16.h4 gxh4 17.Bxh4 Be7 18.b4 cxb4 19.axb4 Nd7 20.Bg3 Bxb4 21.Ne2 Rg8 22.c3 Bd6 23.Rg1 f6 24.Nxd7 Bxd7 25.Bxd6 cxd6 26.Nd4 h5 27.Ke1 h4 28.Kf1 h3 29.gxh3 Bxh3+ 0-1



Upon making 29. ... Bxh3+, I said "haha, now I get a free rook". My opponent expected that it would have been a rook trade, like 29. ... Rxg1 30. Kxg1.
With 29. ... Bxh3+, I expected that he'd be forced to play 30. Ke1, leaving me to play 30. ... Rxg1+, 31. Ksomewhere, Rxa1. Seems like I actually get 2 rooks. After that exchange, the game is obviously lost for White.

So upon 29. ... Bxh3+ and my exclamation, he resigned. Whenever a game ends, we talk about it in a chatroom here on stackexchange, so that I may explain to him how he played and why I am doing what I am doing. To me, it seems he's growing quite well, but I'd like to be able to hand him a fair victory one day.

During the analysis, it seemed that we had actually missed 30. Ke2, and as a result, my opponent resigned even although the reason for resignation was not true.

In a competition, I'd happily take the win, but here, it's not useful for me to take wins - right now I am the better player, and me winning doesn't change that. I've been wanting to play a fair endgame against him to train his skills in that area, but this resignation throws that idea out of the window.

With the game resigned, however, I went and tried to take an analytical look at the game. 


 
[fen ""]
[Site "Chess.com"]
[Date "2016.03.25"]
[White "bemeurer"]
[Black "Pimgd"]
[Result "1/2-1/2"]
[WhiteElo "741"]
[BlackElo "1259"]
[TimeControl "1 in 3 days"]
[Termination "Pimgd wint door opgave"]

1. Nc3 e5 2. a3 Nc6 3. e4 Nf6 4. Nf3 d6 5. Bb5 a6 6. Bxc6+ bxc6 7. d3 d5 8. Bg5 dxe4 9.dxe4 Qxd1+ 10.Kxd1 Ng4 11.Rf1 h6 12.Bh4 g5 13.Bg3 Be6 14.h3 Nf6 15.Nxe5 c5 16.h4 gxh4 17.Bxh4 Be7 18.b4 cxb4 19.axb4 Nd7 20.Bg3 Bxb4 21.Ne2 Rg8 22.c3 Bd6 23.Rg1 f6 24.Nxd7 Bxd7 25.Bxd6 cxd6 26.Nd4 h5 27.Ke1 h4 28.Kf1 h3 29.gxh3 Bxh3+ 30. Ke2 Rxg1 31. Rxg1 Rc8 32. Kd2 Rc5 33. Rb1 Bc8 34. f4 Ra5 35. Rb6 Kd7 36. Rb1 Kc7 37. Rg1 f5 38. Rg7+ Kb6 39. exf5 Bxf5 40. Re7 Bg4 41. Rf7 Bh3 42. Rg7 Bf5 43. Re7 Bg4 44. Rf7 Bh3 45. Rg7 Bf5 46. Re7 Bg4 47. Rf7 1/2-1/2



It gets stuck on positional repetition with an online chess engine called "GamboChess JS 6.0". Given that the positional repetition is made by white I guess black is playing the stronger position, although it does seem like White is in control, black is just responding to that and white can't break through so they just decided to repeat forever.

Now that I have run a chess engine on the game, though, I can't really go back and offer to play from the last position. I already know my moves based on the chess engine's suggestions, and either my opponent will play the chess engine moves leading to a boring draw, they will slip up letting me win, or the chess engine isn't seeing all the moves it should and the analysis is useless.



I have three main questions:


How to handle situations like this, where the person you're teaching resigns, and you think it was okay, but afterwards in analysis it turns out it had gone either way?
Was the position after move 29 actually lost for White?
How to convert a position into a score using chess engines, so that there's a measure we could quickly use to decide who had the advantage?


I can split the questions up into several questions if needed (if that's the case, then please answer just question 1).
1) Unwarranted resignations happen on occasion even in tournament play, sometimes even in a won position.  If your student does this in an instructional game, it's a teachable moment.  In the present game, you might learn too: saying
"haha, now I get a free rook" during the game is distracting the opponent,
which is against the rules whether or not you in fact do win a free rook;
if you hadn't said that then your student might well have found 30 Ke2 and defended the resulting endgame, rather than resigning out of an abundance of
trust in the teacher.

2) Looks like an inferior endgame for White: material is equal, but Black has a distant passed pawn already supported by the Ra8, and also the Knight, though centralized, may have trouble against the Bishop and the a-pawn.  31...Kf7 seems like a better try than 31...Rc8, but I can't judge whether it's actually winning.