@dpowyslybbe - Thank you for your input!
In my particular case, the solution you provide will work. However, I can foresee instances where a workflow might have so many different dependencies and interactions that this solution would be limiting. One of the benefits of using the Call Workflow node is that exceptions (anywhere in the workflow that is called) are propagated to the higher level, and it is easier to catch errors that might occur anywhere in the child workflow.
The underlying causes/reasons of why batch mode behaves so differently from GUI mode will continue to intrigue…