Also,
Not sure if you've ran across this problem, but it's not unheard of for packets to arrive out of order of the way you sent them with BLE. In the stuff I'm working on, I just sacrifice the first byte of the packet for my own incremented packet index so that I know where that packet belongs when it's received. You might want to implement this upfront to save yourself some headache.
Jay