I am running FreeRTOS on an AVR atmega 128. I am calling crQUEUE_RECEIVE with the timeout set to portMAX_DELAY. I expect the call to block forever, but after several minutes the call returns with result != pdPASS.
I would have to double check the co-routine behaviour, but with tasks portMAX_DELAY will only result in an indefinite delay if INCLUDE_vTaskSuspend is set to 1. If you set configUSE_16_BIT_TICKS to 0 you will be able to get much longer delays (months depending on the thick count frequency), but the code will be a bit less efficient on an 8bit processor.