Velocity does in fact affect arrow damage, as seen from these lines in the code, which also shows that there is a random factor involved with critical arrows:
var22 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ);
int var24 = MathHelper.ceiling_double_int((double)var22 * this.damage);
if (this.getIsCritical())
{
var24 += this.rand.nextInt(var24 / 2 + 2);
}
The base damage of an arrow is calculated as 0-2 depending on charge (full charge takes 1 second), plus 0.5 times the level of Power + 0.5 if the bow has Power, for a maximum of 5; this then multiplied by the velocity, which is affected by drag so arrows do indeed lose power with distance as shown below; the multiplier of 0.99 (when in air) does not sound like it has much of an effect but it accumulates 20 times per second (0.99^20 = 0.818 - a loss of 18.2% after 1 second. For water the multiplier of 0.6 means they lose 99% of their velocity after just 9 ticks, less than half a second):
var25 = 0.99F;
var13 = 0.05F;
if (this.isInWater())
{
var25 = 0.6F;
}
this.motionX *= (double)var25;
this.motionY *= (double)var25;
this.motionZ *= (double)var25;
this.motionY -= (double)var13;
Also, I believe some of the Wiki's information is no longer accurate - see the part about "isCritical"? That can add a LOT more than just 1-2 extra damage (as the Wiki shows between fully charged and critical shots); for example, if the value of var24 were 10 a random number between 0-6 (10 / 2 + 2 = 7; nextInt(7) returns 0-6) will be added for a range of 10-16.
For example, they say that arrows travel at 53 m/s, which is 2.65 blocks per tick (maximum), which when multiplied by the maximum base damage of 5 gives 13.25 (14 rounded up), plus 0-8 for a damage range of 14-22 for a Power V bow. This supports observations of spiders (16 health) failing to be killed in one hit from near point-blank range (in 1.6.4, which has the same code as up to 1.8, suggesting that this change is quite old, possibly when they changed other enchantments back in 1.6).