Yes, that will work.
About 38 cycles = a second so you could do something like:
int delaySeconds = 38 * sec;
int counter = 0;
MOVE_FOWARD;
if(counter < delaySeconds) {
counter++;
}else{
STOP_MOVING;
}
Remember to declare the int's at the top of the routine and good luck!
Note: You could use software timers like the one posted above, but just for simplicity, fastness, and realiblity, it won't matter if you choice either one.