MAX3100 tends to store a previous used byte in the FIFO(the specific byte it chooses is usually the first byte that was sent to it; however when the FIFO overflows it is pretty unpredictable which byte it saves) even when all the valid data has been read out of the FIFO. If you keep reading from the FIFO, a byte (other than 0xFF or 0x00) will keep getting read out.
When reading data out of the FIFO(with using the Write Data register or the Read Data register), the data available interrupt should be used (/RM\ = 1 within the write configuration) to detect when data is no longer in the FIFO. The interrupt will tell you when the FIFO is empty of real bytes.