GNUTERM=regis gnuplot -e "splot [x=-3:3] [y=-3:3] sin(x) * cos(y)"
does not display anything, because gnuplot appends a clear screen escape sequence (CSI 2J) to the output, as checked after redirecting it to a logfile (stripping it from the logfile and cat'ting it works)
The clear screen escape sequence is sent by term_reset(), which is invoked when you either (1) made another plot, (2) change the terminal type or settings, or (3) exit the program.
I believe the intent was that the plot would remain visible on your screen until you did one of those things.
However the "set output" / "unset output" commands are treated as changed the terminal settings. term_reset() appends the clear screen sequence to the output file when it is closed. This is/was probably not ideal for saving to a file, but should not interfere with using the terminal interactively.
It's been a while since I had a VT-xxx terminal on my desk, so I can't confirm exactly what the screen would look like during an interactive session. I can, however, confirm that the term_reset() routine is not invoked during an interactive session, but is invoked by "unset output".