Currently this is how it works: rotation is stored as axis of rotation with vector magnitude expressing speed of rotation. phent_getvelocity() returns the following vector: tang_vel = lin_vel + ang_vel x (Rot*point)
Where lin_vel is linear velocity in global coordinates, ang_vel is the above mentioned vector (global), Rot is the entity's rotation matrix and point is the passed in local coordinate.
Since point gets rotated depending on the object's orientation constant angular velocity will yield varying tangential velocity. For example given an object spinning counter-clockwise around z, when point=(1,0,0) the tangential velocity at (1,0,0) will initally be returned and be (0, 1, 0). At the next frame, however, the local point (1,0,0) has been rotated by 90 degrees and is now at (0, 1, 0) and the corresponding tangential velocity vector is (-1,0,0). Next frame: (-1, 0, 0) point with (0, -1, 0) tang_vel.
Is this useful behavior ? If not what kind of information would you like to have returned ?