This
my.animation %= 100;
is the the same like this
if (my.animation > 100) my.animation -= 100;
It simply assures that the counter restarts from zero when reaching 100.
I recommend a simple test code where you start the animation and the blending by a key to experiment with it.
The following part of your first code shows the blending in the first while loop where the skill42 is the percentage of the blending of the blended animation, "walk". This value has to be counted up to 100, and then you have to switch to animate the "walk" animation, only, instead of blending it with the "stand" animation.
while(my.skill92 < 100){
ent_animate (me, "stand", my.skill92, anm_cycle);
ent_blend("walk", 0, my.skill42); // blend "wait" into "walk"
my.skill92 += 10 * time_step;
wait(1);
}
while (1){
ent_animate (me, "walk", my.skill97, anm_cycle);