CJ,

sorry, but I don't have experience with AVR32 devices. This port is for ATmega devices only.

There is a freeRTOS port available for AVR32 though, and I'm sure that you're using that as a basis for your discussion.

Generally, I'd check the logic and locations of the cli() / sei() code and the portENTER_CRITICAL / portEXIT_CRITICAL code, which is contained in portmacro.h, to make sure that you're enabling interrupts at the correct time.