Indeed, KotOR1 did not have a NextNodeID nor a NodeID for each line.
I have begun taking note of which dialogs skip and altering them as required, but it's rather a long and tedious process.
Given that it isn't repeatable unless you don't quit the game, perhaps it would actually be possible to test from within the override next time I come across it myself in-game.
I believe even then sometimes it doesn't repeat when loading a save.
Something I am also going to do is take a look at all of the dialog files in TJM as while watching a streamer play TJM nearly every dialog in the game skipped consistently and I suspect the NodeID's are all missing.
Update : After looking through the dialog files in TJM modules, I can see that none of them contain the NextNodeID and all NodeID's are set to 0, which is generally the case when making a dialog file that no one is going to bother to go through and number all of the NodeID's, understandably of course as it takes quite a while, I presume that Obsidian's software for writing .dlg files handled this automatically when adding new nodes to the dialog tree.
Additional : even 3cfd's dialog in the very first level has the NextNodeID set to 54 while only actually having 34 Nodes.
Conclusion : either the community needs a dialog editing tool that will properly number the NodeID's when creating them, or people need to manually go through and fix every line of dialog in the game, checking and counting their NodeID's to match ( this would be insanely tedious and could take a long time )
Something else worth noting, is that the currently available Dialog Editor, when creating a TSL Dialog File, doesn't even add the NextNodeID field to the GFF filetype, this combined with numbering each NodeID 0 is bound to cause some sort of problem.
Another Update : Having looked through even more dialogs, I believe I mistook NextNodeID for meaning something other than what it says it means, I think that the NextNodeID just keeps track of how many nodes are in the dialog file and isn't actually used for anything other than adding new nodes to the dialog tree.
As some seem to be set to a Node that doesn't exist ie : the next node number
While some are set to node numbers that equal more than the amount of nodes in the file. ( presumably Obsidian ripped out lines and didn't update the node numbers )
However, properly sorting through the Node numbers does solve the missing text borders and hopefully the dialog skipping issue too.
For the moment I have been setting the NextNodeID to 0 simply because it solves the border issue and the available dialog editor doesn't make use of it ( if that is even it's purpose ) because throughout the games files, the way it is used is inconsistent, many being set to 0, some being set to what would be the next number in the list and some above the number of entry nodes even in the file.
So I suspect it is just the misnumbered Nodes in the dialog tree that is causing the skipping issue, while the NextNodeID may or may not be being used for another purpose by the engine in setting up the borders.
Ultimately the NodeID's themselves must have a purpose and if they are all out of line, it has to be having some negative effects on the system, I certainly hope that this resolves the issue once and for all. But only time will tell.