I hear you! I didn't really like functions for the same reason when I started using them.

It can be a pain to declare globals, but I've found globals to be pretty handy, also. They highlight your variables for you! This has helped me many times to catch a typo rather than search through tons of code and find 'ThisVaraible' when it should have been 'ThisVariable'
You can utilize functions in several different ways, too. They are very handy! For instance:
sync on
sync rate 60
set text opaque
do
mX = mouseX()
mY = mouseY()
if mouseclick() = 1
`You can send information to functions without globals:
DrawMousePoint(mX, mY, oldMX, oldMY)
inc mouseTime
endif
`You can have a function do multiple things:
if mouseclick() = 2 then ClearScreen()
oldMX = mX
oldMY = mY
set cursor 0,0
`Functions can also return information; either with information sent, or none sent:
print printText1()
print printText2(mouseTime)
sync
loop
end
function DrawMousePoint(x, y, x2, y2)
line x, y, x2,y2
endfunction
function printText1()
s$ = "Left mouse button draws. Right button clears the canvas and randomizes color."
endfunction s$
function printText2(i)
s$ = "You have held the pen down for " + str$(i / 60) + " seconds"
endfunction s$
function ClearScreen()
cls
ink rgb(rnd(255), rnd(255), rnd(255)), 1
endfunction
Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid.