I begin to see something interesting. If you run gnubg with a GUI from
an xterm (or, I suppose, a DOS window) and enter the commands Jon
posted, you'll get the erroneous results identical to the CLI version
- this one calls CommandHint() followed by CommandRollout(). In the
GUI if you pop up a Hint window and then select some moves ans ask for
them to be rolled out, you get the correct result. In this case, it
calls ScoreMoveRollout(). The two routines have much in common, so
much so that they need to be merged into a single routine. The logic is
fairly complicated, but I think the cause lies in a failure to
correctly set up the board and the flags needed for a rollout.