Listen to him Bigsnake.
It's a lot of little slowdowns that add up to big slowdowns for bigger projects. If the color is going to stay the same you only need to do it once and not every time a loop happens. Having it do a color change every loop to a color that is exactly the same as the last loop is unnecessary. It may not seem like it but it loops really fast.
Try running your code with some additions of my own:
` Make picking random numbers a bit more random
randomize timer()
Make object Cube 1,100
Color Backdrop RGB (255,0,20)
Do
YROTATE OBJECT 1,OBJECT ANGLE Y(1)+0.01
XROTATE OBJECT 1,OBJECT ANGLE X(1)+0.01
ZROTATE OBJECT 1,OBJECT ANGLE Z(1)+0.01
` Color the cube with a random color
color object 1,rgb(rnd(255),rnd(255),rnd(255))
` Show the number of loops
text 0,0,"Current number of loops: "+str$(CLoop)
` Increase the loop counter
inc CLoop
Loop