There is a known issue in the IEEE 802.15.4 spec where the PIB attribute macTransactionPersistenceTime is undefined for non-beacon enabled PANs. This is a problem for association, since association responses sent from the coordinator to the device are always sent using indirect transmission. If a device never actually requests the response from the coordinator (because, for example, it lost the acknowledge for the associate request), then the response will be kept indefinitely in the coordinator's indirect transmission queue.
This becomes worse if the device tries to join again. The coordinator might send a new response (with possibly a different short address), but the device will actually get the first response that was enqueued from the first associate request. The new response will then remain in the queue indefinitely.
Is there a workaround for this in the Freescale 802.15.4 library? Is there a way to manually set a transaction timeout value? (we tried setting macTransactionPersistenceTime to 1 but it did not seem to change anything). Is there a way to clear any pending indirect associate response on the coordinator?