В описании что сказано:
Цитата
Sn_IR (Socket n Interrupt Register) [R] [0x0402, 0x0502, 0x0602, 0x0702] [0x00]
This register is used for notifying connection establishment and termination, receiving data and Timeout.
The values are cleared by reading this register. Howerver, it takes 2ms to clear register after reading
internally, and you may wait about 2ms after reading this register.
Т.е. если пакеты идут слишком часто, то прерывание не успевает сниматься. Приходится использовать прерывание по уровню, а не по фронту, и проверять наличие пакетов в буфере