GFA is probably a nice starting point, though. but i started out with assembler and skipped basic straight away. only when i'm forced to use GFA basic will i use it
for instance i once had to patch a module converter or some table generators in that language.
the reason why i stuck with assembler is that 68000 asm, as opposed to many other cpu's, is really simple. and the ST's architecture is pretty simple and logical as well. but i agree that doing everything in assembler, even on such an old beast as the ST, is not desirable. programs like converters, generators and probably most of the house keeping code in applications/games are best written in high-level languages such as basic or C.
i think, for truly understanding how a computer works, you at least need to have seen assembler code in action sometimes. then you will know what happens in drivers, how hardware is accessed, how you (or compilers) may optimise code for speed and/or size. also 68000 assembler is a very good starting point for learning C. using the addressing of the 68000, you understand better how stuff like pointers work in C. the same goes for the stack (local variables, parameters).
okay, enough talk for now..