C2000 RPT is not interruptible even by DMA transfers
dsPIC has problems with DMA too.
Earlier models had dedicated dual-access DMA memory, so DMA and CPU worked independently of each other. Thus, not only CPU was deterministic, but DMA was deterministic as well. However, DMA was not universal and was restricted to specific periphery.
In newer models, DMA is working through the common bus with CPU (where CPU has higher priority), which is common for load-store architectures (such as ARM). But unlike load-store architectures, dsPIC33 CPU can put very high pressure on memory. For example, if you're doing 64-tap FIR filter, you can do it in 64 cycles, but there will be not a single bus cycle left for DMA, so DMA may starve - if you're receiving 20 MHz SPI at the same time, there may be bytes lost. In addition, DMA is built in such a way that you cannot use built-in FIFOs in peripheral modules when they're handled with DMA. You can give higher priority to DMA to fix this, but then the CPU is no longer deterministic. Therefore, if you want CPU to be deterministic, you can only do slow things through DMA. Hopefully, they will fix that in dsPIC33A.