Does it cheat?

A frequent accusation against backgammon software is that it's cheating—that it's getting too many good rolls. MobileBG is most certainly not manipulating the dice rolls; if you're convinced it is, browse through the source code and you can see exactly what it's doing:

public static byte[] roll()
{
    return new byte[] {(byte) (Math.abs((random.nextInt() % 6)) + 1),
        (byte) (Math.abs((random.nextInt() % 6)) + 1)};
}

The game uses this exact method for both players' rolls; it merely generates two random integers between 1 and 6.

There are a number of other factors working against claims that neural net-based backgammon software is cheating, as well:

If you're having a hard time beating MobileBG at all, I'd suggest setting the difficulty level to "Easy." This will cause the neural network to randomly throw in mistakes as it plays. I think you'll find that on "Easy" the dice don't appear so biased. This is because MobileBG is making mistakes, and its positions aren't going to lend themselves to as many lucky rolls.

Backgammon Galore has an archive of usenet posts discussing claims of cheating by various backgammon programs. If you're still suspicious, you might consider reading through some of them.