The position check happens when you hit the skill. You can for example hit Impulse Drive at the targets rear and move to it's flank right away, while the animation is going off, and it will count because the check was made when you initiated it. This is important, since some skills can have rather long animations, and thinking you need to wait for them will mess you up.
That said, there is the issue of latency with enemy positions. When there is any reason for an enemy to turn (either someone else gets hate, or it faces a player as part of one of its attaack mechanics) the orientation of the enemy is updated immediately in the background, and then the animation of the enemy turning occurs.
What does this mean? It means that, if you know that the target is going to turn, for whatever reason, you should position yourself to attack based on where his flank/rear is going to be in the next second or so, not where it is while it's turning or just about to turn.
For instance when Titan looks back to do a landslide and you do your standard evasive maneuvers but then you want to carry on attacking when he's done. When you go in to do let's say Heavy Thrust, don't try to time Heavy Thrust so you hit his flank visually as he's turning back, but go to where his flank actually will be once he's facing the tank again and do it there. If he visually turns during the animation of your hit, you should be fine.
The general idea is, any sort of check for skills are done at the instance of initiation, including position checks, buff checks, accuracy checks. The instance you hit a skill, a snapshot of your context is taken to be considered in any and all calculations. Everything visual, like animations, are eyecandy that follows the math. Enemy positions similarly are much more erratic. They will be facing one direction, then almost instantly be facing another when they have to. The game just visually shows them turning at a more natural pace to appear smoother.