Each time it's filled will be a seek. The previous example assumed a seek whenever we performed a read or a write of a sector. Since we were interleaving reads and writes to 65 different files, this seems likely. Thus, the comparison is fair. If runs were longer, then there wouldn't be as many of them.
Fewer runs means fewer arrays in the input buffer, which implies fewer seeks.
We need a sort algorithm that will let us fit more data in memory. Most of the time, we're not using the whole heap array. Assume an array size of N records. Place two heaps in the array, the primary and the secondary. This still fits easily within a cylinder.