Quick warning, I know very little about this, but I still might be of some help. bleCentral.setActiveScan would have problems if it were a normal boolean, but it appears to be part of BLECentralRole.h. Your loop function seems not to use recieveAdvPck, but your setup does. It appears that it works as a loop, and therefore keeps scanning after finding the correct packet. All I can really tell you about how to fix this, is the following stops just about everything:
while([true statement])
{
;
}
Sorry of this is useless.