That "ms" unit must be microseconds. 38KHz, 1/38000 = .000263, half that is .000131. They show it as "120 ms".
They're showing the output signal which was created from the IR led pulse bursts at 38 KHz.
If that were true then it would certainly be far too slow, however, I took 500 ms to be an example value for an input signal to the sensor. I thought it's PWM output would be much faster. I might well be wrong, it's not clear to me. It does say under applications (pg. 1) "Sensor for large format touch panels" - that's what I'm doing, right? Why would they design it to be so slow?
From Fig 10, it looks like the repeat rate would vary from 50 ms to 680 ms (depending on the signal strength due to distance of object from sensor?) Anyways, this varying response is for each sensor and would not be additive if the pulseIn() function is avoided. Once the information is in the Arduino, there would be 288 bits, with each bit changing according to the signal pattern on Page 4. All that's needed is to measure the time duration each bit is low. By using arrays to store the fall times and rise times of each bit, each difference would be the signal strength of each sensor.
My opinion is that this could work if pulseIn() is avoided and a method like "blink without delay" is implemented with arrays of size 288 to store the time information.