The part of the program the detects check is somewhat late in the process. That is, when I place
an opponent into check and it reloads the board (assuming I have no other moves waiting) it does
not indicate to me that he is in check. Similarly, if I should move out of check and reload the
board, it still indicates that I am in check.
Refreshing the board, of course, results in a correct evaluation of the board (either way).
If I have worded this in a fashion incomprehensible to the programmers of this site, let me know
and I will explain.