I'm privileged to say that I was the author of a business BASIC (manual is on archive.org). None of this B+ tree stuff--just an integrated ISAM. Decimal arithmetic. I have sample code if you're curious.
So, I was noodling about with this. Trying to better understand ISAM and how it works.
Fundamentally, perhaps simplistically, it's a static tree with the leaf pages pointing to the records.
When a new entry is added, the tree is walked to find the leaf page that "handles" the range of data the new record would belong. If there's room in the page for the new entry, the entry (i.e. the key/record id pair) is inserted into the page, and the page is resorted. If there is no room, then an overflow page is added and the new entry is stored there.
It's not clear to me if the new page is sorted as well. It seems that the key point here is that, as I understand it, keys are not "shoved out" into overflow pages. Rather, overflow pages are simply created and populated as a bag of unsorted keys. That part is muddy.
When the ISAM index is created, it could be good practice to create the new index with space for new entries, in order to reduce the number of overflow pages, but at the cost of disk space that sits idle. And that makes sense for indexes that are receiving "random" updates (i.e. last name, or something else).
However, if you're inserting rows into, say, a Customer Master, where each row get an incrementing Customer ID, then creating an index with space doesn't make much sense. The IDs are unique, assigned once, and never increasing. So, there won't be a case where you may insert IDs 101, then 201, then 301, and then, back, to 105 or 256. But it does suggest when creating a new index, that you would pre-allocate space for the new IDs. That is, if you already have 1000 customers (numbered 1-1000), when you reorganize the index, you may create an index for 1-1500. That makes adding new IDs a simple update of the appropriate leaf node, but not commit the actual records themselves. At least, that's my intuition.
Is that your experience?
As an aside, I was playing with doing some sorting in BASIC. A simple shell sort.
I ran it on a cycle accurate 4.77 PC simulator. And it took over 18s to sort 100 random integers.
It just reminds us how much we've gained and amazed that we were able to get anything accomplished back in the day.