Lakshman,
Can you confirm the 2 fix's are for back-to-back (within ZLL_APLC_INTER_PAN_TRANS_ID_LIFETIME) calls to zllInitiator_StartDevDisc? I agree from code review there looks to be an issue with such back-to-back use case, I will validate the issue and fix and get back to you. We should probably stop the ZLL_TRANS_LIFETIME_EXPIRED_EVT in the zllInitiator_AbortTL as well. Some remote developers may want to implement a touchlink button where the press down starts the zllInitiator_StartDevDisc and the release sends a zllInitiator_AbortTL. This will allow the touchlink to be aborted by the user if the wrong Light Flash's, for this you may also want to increase the time a Light identifies to allow a user time to release the button, see section 5.2 of the Z-Stack Lighting Developers Guide for more information.
With these fix's you mention that you still see issues, is this again with the same back-to-back use case or do you see it in a 1 off zllInitiator_StartDevDisc? Also what is the probability of this occurring I have noticed that packet sniffers can miss packets, so if the probability is low then this can be the packet sniffer. Try running 2 packet sniffers, the probability f both missing the same packet is low.
Regards TC.