There's a trick you can do with squares that makes them much more accurate than normal; not sure how they would then compare to hexagons. Instead of treating each diagonal step as "1", you treat the first diagonal step as 1, the second as 2, the third as 1, the fourth as 2, etc. Averaged out, this makes diagonal movements cost 1.5 steps each, which happens to be attractively close to 1.414.
Either way it now needs to keep track of your last diagonal. What's the rules? is it the second diagonal ever? or the second diagonal in a row? or the second diagonal in that turn? If I go a diagonal and come back the same way, is that now 3? If I have one movement point left, can I use it to traverse a 2 diagonal?
This also means you need to keep state of the last movement and makes things a bit unclear to the user what the next movement point will cost.