Following up: I've run some tests and apparently now attacks and advancing both cost one move. Notice that even when the MBTs can advance they have lost all movement points even though they are supposed to have one left. Since desert requires 2 moves to enter, apparently they spend all their moves trying to advance into the tile, which in itself is weird behavior because your last movement is usually always successful as long as you have one move left.Oh, that doesn't look good. Apparently my solution to prevent units from advancing into an impassable feature after winning had some side effects.
Anyway, I have isolated the code segment that causes this behavior, but I am not sure how. Apparently I don't understand how the movement rules work as well as I thought I do. Will run more tests tomorrow.