Hi Tony,
The divide by zero error will be due to the line having two sequential nodes at exactly the same location - check segment 78.
I'd say the first error is due to an unpacked table. The "Trws = TableInfo(tabname, TAB_INFO_NROWS )" line before the Fetch statement on 273 will include deleted rows when retrieving the number of rows in the table. Actually (without going through the code in details), even if the table was initially packed, the "AllSplit" routine might have unintended consequences because you are looping through the table and altering objects within the table at the same time. Although this might work out in this case, it is probably best avoided.
Also error control seems to be poorly written. When the error occurs on line 273 (the "AllSplit" routine, the program will end up executing the "SplitLine" routine I believe - hence the second error.
Perhaps another line splitting tool is the way to go...
I hope this helps.