how to use "maxima --batch" *reliably* ??



The best approach, from the maxima perspective, is for you to write some
program, 
in lisp, or the Maxima language,  but actually could be in almost any other
language.
Suppose the program is called "MyMain".

Then you start up Maxima. From the command line, or even from a batch file,
type load("MyMainFile"); MyMain(parameters);

and let it run.

The MyMain program, especially if it is written in lisp or Maxima,
 can call any program in Maxima, can do I/O, can handle errors etc.


The question is, who is the boss. For simple things it may not matter.
If all you want is a different GUI, that has been figured out, mostly.
If you want full access from a batch program, ... it has issues. If, as
you say, it is OK to crash the program, that is a "solution".