The value returned by c_move IS framerate independent when your movement vector is multiplied by time_step (I guess vec_accelerate does this for you, right?).
For example you can use the following:
result = c_move(me,vector(10*time_step,0,0),nullvector,IGNORE_PASSABLE);
my.skill20 = (my.skill20+result)%100;
ent_animate(me,"walk",my.skill20,ANM_CYCLE);
Multiplying result in the second line with time_step would be wrong here as result already is framerate independent thanks to the time_step factor in c_move.
If you however want to get the speed of an entity/ the movement distance, use the following:
result = c_move(me,vector(10*time_step,0,0),nullvector,IGNORE_PASSABLE);
distance = result/time_step;
Write "distance" to screen, should be very close to 10 when there are no obstructions.