By introducing movement ne,nw,se and sw it would compromise between the two
methods (hex and grid) but be a lot easier to code. Just say the diagonal
movement cost is 12 days instead of 8 days.
About the movement: I would suggest the unit be considered in transit and
untouchable. I would also suggest a stop order in mid transit take the
number of days it took to get there to execute. ie if I move 2 days of the
journey and then issue a stop it will take 2 days.
What about an AMBUSH command to take out those wandering masses. That would
only attack units after they leave and not if they end their movement.