Hello George,
I use NXTs in my robotics classroom as well. The hardest thing with the "move for rotation" blocks is that they stop all other code from executing while they run. The robot doesn't check any sensors and can't change the power on any other motors. The best way I've found around this difficulty is to have the robot continually check its sensors with a "repeat indefinitely" loop and to avoid the use of "move for" blocks in favor of drive or move blocks with no defined distance. I then use the motor encoders or timers as sensors to program the distance at which the robot should stop moving. This has the advantage of also allowing the reading of and response to other sensors during the robot motion.
A more simplistic method would be to not use the repeat indefinitely loop and to use a "wait until" with a motor encoder after all the motors have been commanded to move.
I hope the attached example of the more thorough solution is helpful. Please let me know if this solves the issue or if I can be of any more help.
Sincerely,
Eric Vanderhoof
Mount Vernon, OH, USA