Yes, I knew about this part of the manual, but I see it as a bug or an error that the render takes into account the insertion point (position of the playhead).
What I mean is an improvement that on the one hand solves the playhead. That we do not have to make sure that this is at the beginning to make a render, this is really a mistake (bug).
And in a project to be able to define several non-consecutive sections in the same batch render.
The process would be.
1 New
2 Use current EDL
3 (New button) (Set in out points) or (in out reference)
The fourth point would be to indicate the name and output format.
This collects the time code information of the current position of the entry exit points.
If we move these points to another section and repeat the three previous steps, new, will always create a new line with ALL (project), this will render the whole project, but if we have moved the marks in out, and press the "in out reference" button again, ALL will be replaced by the stretch of timecode marked by in out points and export only the fragment. When executing it, Batch will export all the defined sections while we can be having a snack.

I am aware that giving ideas is the easy part of the job... if I had the knowledge that you have in C programming it would help you, but in this sense I am stupid and useless... I can only try, sorry. Don't feel obligated to do this either. The only thing I see as an error is that the render takes into account the the position of the play head (the Insert Point position as the manual calls it)
Imagine that you have to do a batch render of 20 projects... and you have to open one by one to ensure that the playhead is at the beginning... it is not very logical... a batch is made with the editor without any project loaded, most of the time, and this detail of the play head wastes a lot of time without any logic that justifies it, being able to use the entry and exit points (in out points) for it
My sincere thanks.