I have been thinking about this too, and I do think that dividing the heightfield could give advantages in some situations...
Consider this heightfield (looking from aside)
Code:
__
O /
/
______________/
(O = object)
The BB will be very heigh, because of the hill at the right side. So whenever a moving object is floating quite hight on the left side like in the picture, it will still check all triangles that's it's floating over because it's inside the BB of the heightfield, even though you would hope it wouldn't because it's so heigh above the ground.
If you would split the heightfield in the flat part and the hill part, then you no longer have this problem. The BB of the flat part will be very thin, and it will only start checking triangles when an object is actually near the heightfield.
I hope I make clear what I mean, and also that I'm right about this

any way, was far as I could see in the code: as long as an object is in the BB of the heightfield, it checks all triangles that are on the same width/length coordinates.
I was also thinking about a possible improvement on this part, but I haven't thought of a good way yet. In my case I use generated terrain so I cannot split up the terrain myself. But I think some sort of octree broadphase check, which includes height could reduce the number of unnecessary triangle checks.