thanks for the script!
before getting into the script I need to explain that "fix" command means whatever BC applied to the nodes should be fixed. In your case you applied velocity and did not fix it so initial velocity will be applied in the first step and then velocity for the rest of the sequence will be calculated by program. so this is not a bug!
if you want to fix the applied velocity you need to add another line after velocity command (or any other commands that should stay constant throughout cycling) and fix the value in place as shown below. also please note that when you do that the description for applied BC in the legend (left side of window) get changed to "Fixed Velocity" instead of "Applied Velocity" also arrow's color changes.
newmodel()
rect("startPoint",0,0,"endPoint",2,5)
discretize("auto")
triangle("auto")
material("create","Mohr-Coulomb","matid",1,"matname","Material 1","density",0.0025,"shear",769.231,"bulk",1666.67,"coh",2,"fric",28,"dil",0,"tens",0)
material("assign","matid",1,"region",0.970542,2.49863)
applybc("yfix","xlim",-0.083,2.271,"ylim",-0.176,0.072)
applybc("yvel",-0.01,"xlim",-0.264,2.343,"ylim",4.972,5.115)
applybc("yfix","xlim",-0.264,2.343,"ylim",4.972,5.115) // this line is added by Roozbeh to fix the vel in place
solve("numstep",1000)
//plot("element","geom")
plot("contour","ydisp")