Your sync should be inside the While loop
Using WAIT like that is horrible, what are you trying to do with this loop?
Here's my version of it, I didn't like sitting around for 3 seconds waiting for the circles to be drawn

What was the purpose of the WAITs?
sync on : sync rate 30
repeat : until mouseclick()=1
while mouseclick()=1
circle 100,100,10
circle 120,120,10
circle 150,200,10
circle 130,249,10
circle 100,50,10
circle 50,100,10
circle 100,130,10
sync
endwhile
If you do want the waits then there are three ways of going about it, one of the main rules in programming is never do the same thing twice.
A: Completely random circles
sync on : sync rate 30
repeat : until mouseclick()=1
while mouseclick()=1
circle rnd(616)+12,rnd(466)+12,10
wait 200
sync : `update screen
cls : `wipe the screen ready for next draw
endwhile
B: Programmed circles (circles that can be mathematically produced)
sync on : sync rate 30
repeat : until mouseclick()=1
while mouseclick()=1
cpos = wrapvalue(cpos+1)
circle 320+sin(cpos)*20,240+cos(cpos)*20,10
sync : `update screen
cls : `wipe the screen ready for next draw
endwhile
C: Preset Circles (If you want those exact circles to be drawn)
sync on : sync rate 30
DIM circle(6,2)
x=1 : y=2 : `use variables to help make things clearer
circle(0,x)=100 : circle(0,y)=100
circle(1,x)=120 : circle(1,y)=120
circle(2,x)=150 : circle(2,y)=200
circle(3,x)=130 : circle(3,y)=249
circle(4,x)=100 : circle(4,y)=50
circle(5,x)=50 : circle(5,y)=100
circle(6,x)=100 : circle(6,y)=130
repeat : until mouseclick()=1
while mouseclick()=1
for c = 0 to 6
circle circle(c,x),circle(c,y),10
sync
next c
endwhile
This one will make each of your circle pop up in sequence, but a quick change of the sync position will make them all appear at once.
while mouseclick()=1
for c = 0 to 6
circle circle(c,x),circle(c,y),10
next c
sync
endwhile
Don't make the user wait so long for anything to appear or they'll get bored before the program has started.
Hope this helps
[edit]
I've taken out all the waits from my examples because I don't like them
[edit]
I've put the wait back into the random one because the circles were moving too quickly.
CLS
The visually pleasing thing about putting CLS at the end of the loop is that when the mousebutton is released, the screen is cleared before the loop returns to the WHILE condition, and finding the condition no longer true, the program ends on a blank screen. Nice and tidy
In programming, nothing exists
