Of course you can get rid of the escapekey stuff and just have it save when user presses a particular key. This code will only save settings when you press SPACE.
f$="filename.dat"
sync on : sync rate 30 : autocam off
move camera -250
if file exist(f$)
open to read 1,f$
read float 1,cubesize#
read float 1,spheresize#
close file 1
else
cubesize#=100
spheresize#=75
endif
make object cube 1,cubesize#
make object sphere 2,spheresize#
position object 2,50,0,0
do
if spacekey()
if file exist(f$) then delete file f$
open to write 1,f$
write float 1,cubesize#
write float 1,spheresize#
close file 1
text 0,0,"SAVING..."
sync
wait 1000
endif
cubesize#=cubesize#-0.1
spheresize#=spheresize#-0.1
delete object 1
delete object 2
make object cube 1,cubesize#
make object sphere 2,spheresize#
position object 2,50,0,0
text 0,0,"Press SPACE to save settings"
text 0,15,str$(cubesize#)
text 0,30,str$(spheresize#)
sync
loop
@CattleRustler - I have ADSL and so have all the windows updates installed, including .NET framework.

I have found there are more and more shareware utilites that require its installed. Specially MSDE and SQL management programs which I'm getting into.
Boo!