I would like to make an addendum to this that may help:
When you select an Aura for a token, it shows the Aura of the horizontal position, even when the token is turned vertically.
If I had to hazard a guess, I'd say that the image-turning function does not actually alter the grid-space location of the token, just the rotation of the image. This makes it look like the token is sitting in the "center" of a 2x3 square, while the token's grid-space still thinks its in its same spot. You don't see this phenomenon with a square token because the square takes up the same grid space no matter which direction the image is facing.
Edit: Racked my brain to figure out how to do this, then I remembered the basic problem. When you're rotating the image, you're not swapping the values of the height and width to match the new rotation: a 1x2 image that is turned 90° is now a 2x1 image. Whatever your snapToGrid function is, it will take care of the rest once you call it to the new position. If height equals width, bypass the rest of the code since turning it won't matter, and probably will not matter in the majority of situations.
function changeRotation(counter counterToChange){
counterToChange._rotation +=90;
if(counterToChange._counterHeight != counterToChange._counterWidth){
int saveCounterHeight;
saveCounterHeight = counterToChange._counterHeight;
counterToChange._counterHeight = counterToChange._counterWidth;
counterToChange._counterWidth = saveCounterHeight;
delete saveCounterHeight;
if(doSnapToGrid){
snaptoGrid(counterToChange,counterToChange._x,counterToChange._y);
}
}
}
I really hope it's this simple, but I can't tell without a peek at the code. Lemme know if I've hit the broad side of the barn ;)