Maybe interrupts are not necessary here. In your OP you referred to the receiver as a “diode” which made believe you were reading the raw 38kHz carrier signal. However, I guess from the following comments that it is actually a 3 pin IR receiver device intended for receiving encoded IR signals from, say a remote control of a television.
I have used a similar IR receiver, ie not a purpose made beam break sensor, in a beam break type application. There, the trick was, instead of sending a continuous carrier signal, to send bursts of about 10 carrier pulses (around 600 microseconds) followed by a pause. This defeats the interference suppression in the device and conforms to the “test signal” specified in the data sheet. This is similar to what @alto777 has already said.
You could also do something similar, then your logic would be something like : if a signal was detected in the last X ms, treat the beam as unbroken, otherwise treat it as broken.
Incidentally, I described the project here. Only the transmitter part is relevant because that contains the IR emitters and IR receiver used, in this case, to detect the presence of items in my mailbox:
Edit:
This thread is rich in ideas for creating a 38kHz signal also in bursts: How to create a 38 Khz pulse with arduino using timer or PWM?