Hm that's a pity.
I don't understand the problem with MOVE or gravity, it shouldn't make a difference.
What I meant was something as follows:
k = floor(my.skill20/0.5);
for(i = k; i > 0; i--)
{
vec_lerp(temp,old_pos,new_pos,i/k);
effect(my_particle,1,temp,vec_diff(...)*1 or /k or no velocity at all)
}
This could be totally wrong, untested, but should give you an idea.