My equation assumes the projectile is moving at a constant velocity, but your bullet is accelerating. The following updated equation should get you what you need.
timeTaken = abs( (sqrt(2 * distance(attackerX, attackerY, Token.X, Token.Y) * acceleration + initialSpeed^2) - initialSpeed) / acceleration )[/code:3hyecwtn]
[code:3hyecwtn]animationSpeed = numberOfFrames / timeTaken[/code:3hyecwtn]
Your code looks fine as far as implementing the equation I gave you. You should check your animation and make sure each frame has a speed of 1, as higher or lower values could throw things off. It could additionally be an issue of timing differences. I've given you mathematically exact equations, but simulations like these aren't necessarily mathematically ideal.