A while back I wrote a simple distributed render manager that includes support for Terragen, and while working on some improvements I noticed a couple extremely odd and in my opinion problematic behaviors when rendering from the command line.
On Linux and OSX, Terragen (v3.3 build 3.3.03.0) does not recognize an incorrect or nonexistent path to a project file or a corrupted project file as reason to exit with a non-zero code. If the project file isn't found or isn't readable, Terragen prints an error message to stdout (not stderr), then quietly opens the default project file, renders it, and exits with code zero.
A similar issue occurs when Terragen is unable to save the rendered file. It prints an error message to stdout (again, not stderr), then exits with code zero. That's been an issue in the past because we were rendering to a network drive that went offline, but Terragen kept going frame after frame for a couple days until we noticed the files weren't showing up where they were supposed to.
I don't expect this to be a high priority issue because it doesn't significantly affect the usability of the software, but it does violate a couple fundamental expectations about how software on UNIX-like operating systems should behave. It also complicates scripting because the only way to tell if a file was successfully rendered and saved is to parse stdout and look for error messages that could potentially change with new versions.