A few pointers:
You don't need to create camera 1, as you already have camera 0 as default. Only create a second camera when you need two views of something.
You don't need to position the camera every loop if it is not changing. Remember to turn autocam off if you want to change the cameras position.
Use y# (a 'float') rather than y (an integer), as y# can take values like 3.254, but y can only be a whole number.
Try to post code snippets that have no media, like pictures etc. Not many people will bother looking at it if they have to go unzipping files and stuff!
Finally, try using a sine function to make the bobbing movement smoother.
sync on
sync rate 60
color backdrop rgb(200,200,255)
make object cube 1,20
make object plain 2,1000,1000
color object 2,rgb(0,0,200)
xrotate object 2,-90
autocam off
position camera 0,20,-100
y#=100
do
SET CURSOR 16,16:PRINT "Physics Bouyancy Demo"
xrotate object 1,object angle x(1)+0.5:yrotate object 1,object angle y(1)+0.5
REM Cube Being Dropped Into Water
if stop=0
y#=y#-1
endif
REM Cube Being Told That If Y is less than -20 to stop the cube falling
if y#<0 then stop=1
REM If y is less than 0 plus 1 to the y value (cube "bobbing" up)
if stop=1
y#=-3*sin(theta#)
inc theta#,4
endif
position object 1,x,y#,z
sync
loop