You should be able to read the TOS when you want to begin recording and then check if the TOS equals this original value during the interrupt to determine if the stack is full of new records and only do a single disk write per full stack. Another alternative if you are willing to possibly lose some of the early records would simply be to only write to disk when TOS equals some arbitrary value within the range of values causing a single write to disk per full stack.
One issue may be that the interrupt themselves we be pushed onto the LBR stack since they are seen as jumps but I am unsure how that will work based on different permission levels.