You need to understand what happens to the stack.
You branch to a sub and the memory address is stored
when the end sub is encountered, you go back to that last address.
Using goto the way you have in a sub potentially could cause a stack overflow which is why it's terrible programming practice and why freebasic wont let you do it.
The technique I posted is very simple to impliment, why not have a try yourself and post back if you run into problems.
Seriously, forget about goto, there is no need to use it... ever.